netbeans - 'copyfiles' 是标准的 Ant 任务吗?

标签 netbeans ant

我有一个 NetBeans 项目,我正尝试从命令行手动编译 ant .在安装了 NetBeans 的同一台机器上运行时,它可以完美运行。

但是,如果我运行 ant在中央持续集成服务器(未安装 NetBeans)上它在 <copyfiles> 上失败任务:

BUILD FAILED
/var/lib/jenkins/workspace/project_name/nbproject/build-impl.xml:697: Problem: failed to create task or type copyfiles
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.

目标在自动生成的 build-impl.xml 中,看起来像这样:

<target depends="init" name="library-inclusion-in-archive" unless="dist.ear.dir">
    <copyfiles files="${file.reference.some_dependency.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
</target>

当我查看 ant manual , copyfiles甚至不是一个合适的 Ant 任务。那怎么了?

我怎样才能让它在没有安装 NetBeans 的机器上运行?

最佳答案

根据 this advice ,我验证了依赖关系,确实 lib/CopyLibs 目录在我们的源代码控制库中没有版本化。这就是为什么我的本地环境能够编译,但 CI 服务器不能。

将依赖项添加到类路径后 - org-netbeans-modules-java-j2seproject-copylibstask.jar 特别是 - ant 构建成功。

就我个人而言,我觉得 NetBeans 需要外部依赖来执行一项任务是荒谬的,而该任务通常作为标准 ant 任务存在。

关于netbeans - 'copyfiles' 是标准的 Ant 任务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8386685/

相关文章:

java - 在Android中,我应该为哪个Java版本编译代码,以及如何为Ant设置它?

java - System.out.println 最终阻塞

java - 无法添加此项目,因为它不使用 Ant 脚本生成 JAR 文件

java - 错误消息在 Netbeans 中没有消失,为什么? "java.net.BindException: Address already in use: bind"

java - 包 java.util.regex 不存在(代号one)

Java JFrame 字符串索引越界错误

java - 从 Web-Inf/Lib 文件夹中排除一些 JAR

java - NetBeans IDE 包创建中的奇怪行为

java - 在 jframe 中显示 jpanel 的图形界面

ant - 如何检查属性是否存在?