Ant 执行因 svn 导出而异

Ant execution different depending on svn export

我有一个 ant build.xml 脚本。为了 运行 我的应用程序,它需要外部库。

我能够在命令提示符中成功运行 ant clean jar,并且在 -do-jar-copylibs函数中复制库,构建jar,并且jar可以运行 by java -jar jarfile.jar 这是 运行 我从 svn 手动提取的代码。

当我使用脚本 svn export 代码和构建文件从 svn 到 C:/temp 目录,然后 运行 ant clean jar 构建应用程序时,问题就出现了发生在 -do-jar-jar 而不是 -do-jar-copylibs 。它不会将所有库复制到 dist 文件夹中,它只是构建 jar 并告诉我该 jar 可以 运行 使用 java -jar "lots/of/libraries.jar" jarfile.jar mainclass

这与权限有关吗?我找不到如何解决这个问题的任何答案。也许有一种方法可以设置 svn export

的权限

感谢任何帮助

谢谢。

想通了。

-do-jar-copylibs函数依赖于libs.CopyLibs.classpath属性被设置,如果设置正确,condition property="do.mkdist"将导致true,从而触发-do-jar-copylibs 函数。如果 condition property="do.mkdist" 为假,则 -do-jar-jar 将改为 运行。

设置的类路径与 nbproject/private.properties 文件有关。如果我将私有目录添加到我的 svn 导出中,构建将正确打包。另一个解决方法是在 project.properties 文件中定义类路径。