草庐IT

standalone-sample-ant-buildxmlint

全部标签

java - 运行其他 jar 文件时,Ant buildfile 无法将 jar 文件放入类路径中

我是Ant构建文件的新手,我已经设法设置我的构建文件来创建我的构建目录结构,编译我的所有文件,并将它们打包到一个带有正确指定主类的list的jar中。但是,我也试图将运行我刚刚创建的jar的能力放入构建文件中。它会尝试运行,但我遇到了这个错误:run:[java]Exceptioninthread"main"java.lang.NoClassDefFoundError:edu/course/lab/pkg3/Lab31[java]atedu.school.oad.lab.pkg1.Main.(UnknownSource)[java]atedu.school.oad.lab.pkg1.M

java - 如何更改 Ant 的文件集命令的目标目录?

我有一个Java库的Ant构建文件。它看起来像这样:...唯一的问题是我的JavaDoc被直接导出到生成的jar文件的根目录中。本质上,我想要一些相当于的东西可以在中使用的命令命令。我想要的结构是这样的:export.jarMETA-INFManifest.MFcomexamplewhateverBlah.classBlah.javaorgexternalsomelibraryMagic.class//contentsoftheincludedlibraryjarfiledoc//javadocfileshere目前的结构是:export.jarMETA-INFManifest.MFc

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 - com.w3c.dom.Document without <?xml version ="1.0"encoding ="UTF-8"standalone ="no"?>

我正在创建一个com.w3c.dom.Document来自String使用此代码:DocumentBuilderFactorydocFactory=DocumentBuilderFactory.newInstance();DocumentBuilderdocBuilder=docFactory.newDocumentBuilder();Documentdoc=docBuilder.parse(newInputSource(newStringReader("")));当我System.out.println(xmlToString(document)),我明白了:一切正常,但我不希望XM

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

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

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

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

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种可能性:使用在类中的标记上此方法的问题是文件已更改,因此您必须在编译后用替换回标记...太丑了,我不想用正则表达式接触源代码。加上时间依赖性。复制文件,对副本进行替换,编译副本,删除副本一个人必须注意顺序-原始类必须首先编译才能被副本覆盖。时间依赖性也很丑陋。复制

java - 如何将可变数量的参数传递给 ant exec

我有一个ant目标,它接受可变数量的参数,这些参数将传递给exec任务。使用旧机制很简单:但是,不推荐使用“command”以支持嵌套元素。像这样:这使得可变参数列表变得不可能。如何解决这个问题? 最佳答案 这个怎么样: 关于java-如何将可变数量的参数传递给antexec,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6769978/

java - 无条件地执行 Ant 中的任务?

我正在尝试定义一个任务,该任务在目标完成执行时发出(使用回显)一条消息,无论该目标是否成功。具体来说,目标执行一个任务来运行一些单元测试,我想发出一条消息,指示结果可用的位置:...Testscomplete.Resultsavailablein${results}不幸的是,如果测试失败,则任务失败并且执行中止。因此,只有在测试通过时才会输出消息——这与我想要的相反。我知道我可以把任务放在任务之前,但这会让用户更容易错过这条消息。我尝试做的事情可行吗?更新:事实证明我很笨。我的任务中有haltOnFailure="true",这解释了我所看到的行为。现在的问题是,即使测试失败,将其设置