如何使用antrun插件通过maven将类作为jar文件运行



我的maven pom.xml 中有以下插件配置

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
        <id>prepare-database</id>
        <phase>pre-integration-test</phase>
        <configuration>
            <target name="run">
                <java fork="false"  failonerror="yes" classname="Test">
                    <arg line="arg1 arg2"/>
                </java>
            </target>
        </configuration>
        <goals>
            <goal>run</goal>
        </goals>
        </execution>
    </executions>
</plugin>

该类位于src/main/java下的一个包中,该包名为com.a.b,类文件名为Test.java

package com.a.b;
public class Test {
    public static void main(String[] args)
      {
        String arg1 = args[0];
        String arg2 = args[1];
        doStuff(arg1, arg2);
      }
    public static void doStuff(String arg1, String arg2)
      {
          System.out.println(arg1);
      }
}

当试图执行运行ant任务的maven构建时,我得到了以下错误:

发生Ant BuildException:找不到测试。确保你把它放在类路径中

我知道找不到这个文件,但我不知道该怎么办。如果有任何帮助,我将不胜感激。

看看Maven站点上的标准目录布局文章。

源文件夹应该是src/main/java(而不是src/java/main)

另外,你到底想对这个蚂蚁目标做什么?你只是需要叉子吗?为什么你不能把它作为一个纯粹的单元测试或maven集成测试来运行,而忘记ANT目标呢?

H2非常适合在内存中运行。只需要几行就可以连接到DB并开始测试,所有这些都在JVM中,都使用标准的jUnit代码。

 Class.forName("org.h2.Driver"); 
 Connection con = DriverManager.getConnection("jdbc:h2:mem:mytest", "sa", ""); 
 Statement sst = con.createStatement(); 
 sst.executeUpdate(SQL); 

相关内容

  • 没有找到相关文章

最新更新