【发布时间】:2018-03-20 17:38:45
【问题描述】:
在 Netbeans 中构建项目。我在 build.xml 中有一个自定义 ANT Target,它在程序运行之前将两个库文件复制到 dist/lib:
<?xml version="1.0" encoding="UTF-8"?>
<project name="ApplicationName" default="default" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant">
<description>Builds, tests, and runs the project EnrollmentApplication.</description>
<import file="nbproject/build-impl.xml"/>
<target name="-post-jar">
<echo message="Copying dll files..." />
<copy file="lib/file1.dll" todir="${dist.dir}/lib" />
<copy file="lib/file2.dll" todir="${dist.dir}/lib" />
</target>
</project>
但是,当我进行代码更改、构建和运行时,代码更改不会反映在新的运行中。如果我清理、重建和运行,我会得到 Error: Unable to access jarfile <file path>\Application1.jar
此时手动修改 build.xml 可使项目正确重建一次,然后循环重新开始。我对这个 Ant Target 有什么误解?这似乎非常简单。
编辑:
显然复制文件与它无关。即使只使用 <echo> 任务覆盖 -post-jar 也会产生相同的问题
【问题讨论】:
-
正如您似乎已经发现的那样,您在问题中包含的脚本部分可能与您遇到的错误没有太大关系。您能否发布您的整个脚本,或者如果它太长,发布构建、部署和运行您的 jar 应用程序的目标?将整个内容放在 gist 或 pastebin 中也可以。
-
@CAustin - 已发布完整文件。它是标准的 Netbeans 生成的 build.xml,没有其他修改。如果我注释掉目标并保持其他所有内容不变,它将按照您的预期构建