3

我的 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.ab,类文件名为 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:找不到测试。确保你的类路径中有它

我知道找不到该文件,但我不知道该怎么做。任何帮助将不胜感激。

4

1 回答 1

0

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

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

另外,你到底想用这个 ant target 做什么?你只需要叉子吗?为什么不能将它作为纯单元测试或 Maven 集成测试运行而忘记 ANT 目标?

H2 非常适合在内存中运行。只需几行代码即可连接到数据库并开始测试,全部在 JVM 中,全部使用标准的 jUnit 代码。

 Class.forName("org.h2.Driver"); 
 Connection con = DriverManager.getConnection("jdbc:h2:mem:mytest", "sa", ""); 
 Statement sst = con.createStatement(); 
 sst.executeUpdate(SQL); 
于 2013-06-27T12:53:46.073 回答