草庐IT

Ant-JUnit

全部标签

java - : "jarsigner: attempt to rename {file} to {file}.org failed" when signing jars with ant?失败是什么原因

我收到错误:[signjar]jarsigner:attempttorenameC:\workspace\line_editor\lib\icon.jartoC:\workspace\line_editor\lib\icon.jar.origfailed尝试在Eclipse中使用ant对一组jar进行自签名时。antbuild在这个项目中运行良好,在其他项目中也有类似的代码。我对代码做了一些小改动并尝试重建并不断收到此错误。这是相关的Ant目标:我删除了该项目并再次从我们的存储库中将其拉下。因此它与其他项目具有相同的默认项目设置,这部分不会失败。我查看了有问题的.jar,它不是只读的。

java - 在任何 junit 测试运行之前执行一些代码

我有很多单元测试文件,它们基本上执行相同的@BeforeClass。他们启动jetty网络服务器,添加一些系统属性。所以我想知道,是否可以在运行单元测试之前只执行一次? 最佳答案 您可以使用@RunWith注释:@RunWith(JettyRunner.class)publicclassMyAwesomeTest{@Test//...}并实现一个新的RunnerpublicclassJettyRunnerextendsBlockJUnit4ClassRunner{privatestaticbooleaninitialized=fal

java - 如何使用 ANT 只编译更改的源文件

我正在尝试编写用于编译源文件夹的ant构建,这里是我用于编译的脚本target。在我的项目中,我有将近1000个.java文件。当单个.java文件发生更改时,目标往往会编译所有.java文件。这使得开发非常缓慢。我只想知道是否有任何方法或代码可以更改任务的行为,以仅编译修改或更改的.java文件而不是所有.java文件。请帮帮我。 最佳答案 据我了解,仅编译修改后的java文件是antjavac任务的默认行为。Ant使用.java文件及其对应的.class文件的时间戳来确定是否需要重新编译Java文件。我已经在很多项目中使用过它,

java - 如何在代码中为 junit 测试禁用 Java 断言

如何在代码中为junit测试禁用java断言(不是junit断言)我已经编写了一个junit测试,但是当我运行它时,它并没有像预期的那样失败,因为断言已启用,而它们并未在生产中。有没有办法只在代码中禁用断言,以便它在IDE中运行时以及作为Maven的一部分构建时按预期工作 最佳答案 在Java中(在单个类中禁用断言)要在Java中启用或禁用断言检查,请使用setClassAssertionStatus在类加载器中。例如:Foo.class.getClassLoader().setClassAssertionStatus(Foo.cl

java - Junit4 + Spring 2.5 : Asserts throw "NoClassDefFoundError"

我一直在使用Spring在Junit4中编写测试代码,我得到了这个有趣的行为:如果我的测试是这样通过的,那么一切都很好:@TestpublicvoidtruthTest(){assertTrue(true);//Ok}但是,如果我的测试失败了:@TestpublicvoidtruthTest(){assertTrue(false);//ERROR}然后我收到了一个丑陋而神秘的堆栈跟踪,而不是测试失败,就是这样:http://pastie.org/429912对于这个丑陋的转储感到抱歉,但这是我必须解释问题的唯一数据(为了便于阅读,我“粘贴”了它)我真的很纳闷,有没有人遇到过这种问题?提

java - 如何在 Spring Roo 中使用 JUnit 测试? (EntityManager 的问题)

我正在尝试为SpringRoo项目编写JUnit测试。如果我的测试需要使用实体类,我会得到以下异常:java.lang.IllegalStateException:Entitymanagerhasnotbeeninjected(istheSpringAspectsJARconfiguredasanAJC/AJDTaspectslibrary?)SpringAspectsJAR看起来配置正确。特别是,我在pom.xml文件中有以下内容:org.springframeworkspring-aspects${spring.version}和trueorg.springframeworkspr

java - Ant - Java - zipfileset - 排除目录

我有一个像这样创建zip的ant目标-这基本上会创建存档myzip.zip,其中docs/manual下的所有文件和目录都以存档中的docs/userguide为前缀。但我不想将docs/manual下的所有目录复制到存档中,我在docs/manual下有一个名为old的目录,我想将其排除...如何实现? 最佳答案 来自ZipFileSetreferencepagesupportsallattributesofinadditiontothoselistedbelow.所以见FileSet供引用。这是你的做法:或内联为属性:更新:现在

java - JUnit + Derby + Spring : drop in-memory db after every test

在我的单元测试中,我Autowiring了一些使用URL的数据源jdbc:derby:memory:mydb;create=true创建内存数据库。要删除内存中的Derby数据库,您必须连接:jdbc:derby:memory:mydb;drop=true我希望在每次测试后都发生这种情况,并从一个新的数据库开始。我如何使用Spring执行此操作? 最佳答案 HowtoshutdownDerbyin-memorydatabaseProperly给了我一个解决方案的提示:mydb.drop.url=jdbc:derby:memory:m

java - Ant :[xslt] java.lang.ClassNotFoundException:org.apache.tools.ant.taskdefs.optional.TraXLiaison

我有一个Ant构建,它在Windows上运行良好,但当我将它移植到Linux上时似乎出现了问题。问题在这里:[xslt]java.lang.ClassNotFoundException:org.apache.tools.ant.taskdefs.optional.TraXLiaison我已经尝试过以下方法:将xalan.jar、xercesImpl.jar和xml-apis.jar放入$ANT_HOME/lib>目录。将它们从构建文件中放入类路径安装ant的可选类。我正在使用EC2Linux实例(基本64位AmazonLinuxAMI2011.02.1Beta(AMIId:ami-8e

java - ant build过程中修改代码的最佳实践

诚然,这听起来不像是最佳实践,但让我解释一下。在构建期间,我们需要将构建号和系统版本粘贴到一个类中,该类的唯一目的是包含这些值并使它们可访问。我们的第一个想法是使用系统属性,但由于部署环境的易变性(另一种说法是“系统管理员正在做奇怪的、邪恶的令人毛骨悚然的事情”),我们希望对它们进行硬编码。基本上我看到了在ant中实现它的4种可能性:使用在类中的标记上此方法的问题是文件已更改,因此您必须在编译后用替换回标记...太丑了,我不想用正则表达式接触源代码。加上时间依赖性。复制文件,对副本进行替换,编译副本,删除副本一个人必须注意顺序-原始类必须首先编译才能被副本覆盖。时间依赖性也很丑陋。复制