Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netbeans 创建要部署到glassfish的ANT脚本,运行junit测试,然后取消部署_Netbeans_Ant_Junit_Glassfish_Build.xml - Fatal编程技术网

Netbeans 创建要部署到glassfish的ANT脚本,运行junit测试,然后取消部署

Netbeans 创建要部署到glassfish的ANT脚本,运行junit测试,然后取消部署,netbeans,ant,junit,glassfish,build.xml,Netbeans,Ant,Junit,Glassfish,Build.xml,嘿,伙计们,我有一个j2ee应用程序,我正在用Netbeans构建它。我的任务是修改build.xml,以便在应用程序构建之后,ANT将应用程序部署到服务器,在应用程序上运行Junit任务,然后取消部署应用程序。到目前为止,我的deploy和undeploy工作正常,但是我在运行junit任务时遇到了一些问题 我在Netbeans中有一个客户机项目,我的junit任务就在那里。我的问题是,在构建这个项目时,它没有将我的junit测试编译到.jar中。当我运行ant junit任务并且ant找不到

嘿,伙计们,我有一个j2ee应用程序,我正在用Netbeans构建它。我的任务是修改build.xml,以便在应用程序构建之后,ANT将应用程序部署到服务器,在应用程序上运行Junit任务,然后取消部署应用程序。到目前为止,我的deploy和undeploy工作正常,但是我在运行junit任务时遇到了一些问题

我在Netbeans中有一个客户机项目,我的junit任务就在那里。我的问题是,在构建这个项目时,它没有将我的junit测试编译到.jar中。当我运行ant junit任务并且ant找不到适合junit测试的.class文件时,这会导致问题

在Netbeans项目属性中,它允许我设置“源程序包文件夹”和“测试程序包文件夹”。如果我将“test”文件夹添加到“sourcepackagefolders”中并构建项目,它将编译测试并将它们包含在jar中。这是可行的,但是它阻止我将junit测试作为netbeans中的测试运行,这会减慢开发速度

有没有人有解决这样一个问题的经验?也许我忽略了一个简单的解决方案,所以如果有人能给我一点建议,我将不胜感激。提前谢谢


-布拉德

如果我理解你的要求

您不需要将测试类编译到jar中。只需将它们编译到某个目录中,比如“classes”。然后在junit任务的fileset嵌套元素中包含这个目录

一个简单的例子

<target name="junit">
  <junit printsummary="true">
    <classpath>
      <pathelement location="${classes.dir}"/>
    </classpath>

    <test name="test.class.TestClass"/>
  </junit>
</target>


必须将junit任务指向正确的类路径。指向了.class文件的确切目录(project1/classes/com/blah/blah2/blah3),这是不正确的。将classpath设置为project1/classes,它就工作了。没有错。

我知道我做错了什么。我正在为junit测试指向深入目录的类路径。这是一个愚蠢的错误。我指的是com/blah/blah2/blah3,它显然不起作用。