Tag: ant

如何在Ant中只运行特定的JUnit测试?

我有一个样本项目结构,看起来像这样。 现在我想只通过build.xml而不是MyTest运行MyTestTwo。 我该怎么做呢? 当我尝试只运行一个测试时,我通过这样做实现了它: 如果我必须为上述项目结构做任何事情,或者如果有10个不同的测试并且我只想要运行其中的5个,我该如何实现? 我是Ant的新手,所以任何帮助都将不胜感激。 谢谢。

我可以使用较新的JDK编译带有ant的较旧Java版本的java,以便在编译使用较新API的代码时生成输出吗?

我想只在我的系统上安装JDK 8,并且让ant javac编译操作为java 6环境创建工作类文件。 如果我在语法上只使用符合java 6的代码,这种方式有效,但是我的代码可以访问java 8 API的方法/类,并且根据ant的编译操作仍然符合java 6。 这甚至是使用“javac”任务属性“source”和“target”设置为java 6的情况。我知道这会产生以下警告:[javac]警告:[options] bootstrap类路径未设置为同时与-source 1.6。 但这不是帮助我检测我的代码是否实际使用新引入的API元素的警告类型。 当编译的代码试图利用java 8 API引入的方法/类时,我需要编译动作以某种方式做某事。 例如:使用符合java 6的代码,如果使用JDK 8进行copmiled,我可以访问java.lang.reflect.Constructor.getParameters(),JDK 8是从Java 8引入的父类Executableinheritance的方法。 当代码在java 6 exeuction环境中运行时,执行该语句将导致抛出NoSuchMethodException,不可预测,因此也未处理。 我需要我的ant编译动作生成一些不同类型的输出(停止或警告或其他),以便我可以自动执行某些操作。 在这种情况下,我是否有与ant相关的解决方案?

如何在命令行中运行包含OpenCV代码并使用ant创建的.jar文件?

我试图从Ubuntu控制台运行一个小的java类,它包含这样的OpenCV代码: import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.CvType; import org.opencv.core.Scalar; class SimpleSample { static{ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); } public static void main(String[] args) { System.out.println(“Welcome to OpenCV ” + Core.VERSION); Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0)); System.out.println(“OpenCV Mat: ” + m); Mat mr1 = m.row(1); mr1.setTo(new Scalar(1)); Mat mc5 = m.col(5); mc5.setTo(new Scalar(5)); System.out.println(“OpenCV Mat […]

在Eclipse外运行jar时未加载FXML布局

我尝试加载我的fxml布局文件,如下所示: FXMLLoader loader = new FXMLLoader(); loader.setLocation(getClass().getResource(“view/MainLayout.fxml”)); AnchorPane personOverview = (AnchorPane) loader.load(); 当我在Eclipse中运行应用程序时都可以工作,但是当我使用Ant部署应用程序时,我遇到了一个错误: 构建项目后,我的文件夹结构是: 在部署的jar中也一样 我知道在jar和eclipse中解析路径可能存在差异,但我无法解决这个问题。 我使用Java 1.8和JavaFX 8。 更新1根据错误我认为它使用绝对URL解析路径(以文件:/ C:/ …开头),但应该在jar文件中使用相对URL。 为什么它使用绝对路径是主要问题。 更新2 有趣的是根布局成功加载,使用相同的代码.. FXMLLoader loader = new FXMLLoader(); loader.setLocation(MainApp.class.getResource(“view/RootLayout.fxml”)); rootLayout = (BorderPane) loader.load(); 但内部布局初始化失败。 堆栈跟踪: java -jar MeterChecker.jar javafx.fxml.LoadException: unknown path at javafx.fxml.FXMLLoader.constructLoadException(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.load(Unknown Source) at com.wolf6969.checker.MainApp.showMain(Unknown Source) […]

带有Ant的Java NoClassDefFoundError

我在res/lib文件夹中有第三方.jar文件。 ANT build.xml如下所示: .java文件如下: import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVParser; import org.apache.commons.csv.CSVPrinter; import org.apache.commons.csv.CSVRecord; public class IO { public static void readCSVFile(File file) throws IOException { FileReader in = new FileReader(file); Iterable record = CSVFormat.DEFAULT.parse(in); } } 编译没问题,但是我遇到了运行时错误: java.lang.NoClassDefFoundError: org/apache/commons/csv/CSVFormat 。 我认为类路径有问题,但对我来说似乎没问题。 更新: 如果我使用java -cp path;. Main它正在运行java -cp path;. Main java -cp path;. Main 。 我曾尝试编写一个ANT脚本来运行它: 我在命令行中编写了ant […]

如何获取常春藤:缓存路径位置,而不检查是否下载了依赖项

我的build.xml有一个任务: … … 这个任务在必要时下载常春藤( init-ivy实际上就是这样),然后调用常春藤下载依赖项。 它将jersey.classpath设置为结果。 现在我的build任务取决于init任务。 因此,每次构建时,都会检查是否需要安装依赖项。 我想避免每次都检查依赖项,并与init分开build 。 但是init设置了jersey.classpath并且build使用它。 有没有办法从常春藤获得jersey.classpath而不要求它检查依赖关系? 在这种情况下不检查依赖关系是一个好习惯吗?

使用java中的groovy.util.AntBuilder

在groovy中,groovy.util.AntBuilder可用于例如。 将文件解压缩到一个文件夹中: AntBuilder ant = new AntBuilder(); ant.unzip(src: file.getPath(), dest: outputFolder.getPath()); 现在我想用java做同样的事情。 它不可能直接调用解压缩。 我假设这是invokeMethod的用途: AntBuilder ant = new AntBuilder(); String[] args = new String[4]; args[0] = “src”; args[1] = file.getPath(); args[2] = “dest”; args[3] = outputFolder.getPath(); ant.invokeMethod(“unzip”, args); 以上给出: No signature of method: groovy.util.AntBuilder.unzip() is applicable for argument types: (java.lang.String, java.lang.String, java.lang.String, java.lang.String) values: 有任何想法吗? […]

ant – uptodate任务:仅重新生成过时的文件

我是ant的新手,而且习惯于Makefiles。 在一个项目中,名为Message_zh.class等的i18n语言模块是在每次编译时无条件地从zh.po等构建的,尽管它们已经存在,这浪费了很多时间。 我认为这些是build.xml的相关部分: 目标构建语言类依赖于编译目标,因此,每次编译时,整个字符串都会再次被msgfmted。 如果1. po文件被更改,或者2.类文件不存在,应如何编写以调用msgfmt? 如果没有进一步的软件,我会很高兴。 你能帮我指点一个例子吗? 第一次尝试解决方案对ant的行为没有区别: 这有什么不对?

JUnit测试失败作为ant目标执行

我正在尝试使用Cobertura插件为Jenkins获取代码覆盖,因此我在build.xml中运行测试然后覆盖报告,如下所示 Builds, tests, and runs the project CoberturaAndJenkins. 问题在于,当它试图运行unit testing时(我可以使用ant test运行),它一直在说 module-test: Running test cases… Running coberturaandjenkins.CoberturaAndJenkinsTest Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec Test coberturaandjenkins.CoberturaAndJenkinsTest FAILED 我已经更改,重新更改,重新更改build.xml几天没有任何运气。 我无法让它发挥作用。 拜托,我很感激这里的任何帮助。 这是我第一次使用ant(和Cobertura)

Jmockit没有合并使用coverage-output = serial生成的两个coverage.ser文件

我有一个maven项目我使用参数-Dcoverage-output=serial运行junit。 每次运行后,我在相同父文件夹下的diffeerent文件夹中备份每个coverage.ser文件,然后运行ant任务生成覆盖率报告。 喜欢这个 JMockit正在生成覆盖率报告和index.html,但没有合并两个报告。 它似乎只使用第一个生成报告(哪个文件夹是ant构建文件中的参数中的第一个) coverage.ser 。