我有一个 NetBeans 项目,我正在尝试从命令行手动编译ant
。当在安装了 NetBeans 的同一台计算机上运行时,它可以完美运行。
但是,如果我跑ant
在中央持续集成服务器(未安装 NetBeans)上,它在<copyfiles>
task:
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>
当我看着蚂蚁手册 http://ant.apache.org/manual/Tasks/, copyfiles
甚至不是一个合适的蚂蚁任务。那么这是什么一回事?
如何让它在未安装 NetBeans 的计算机上运行?
Per 这个建议 http://wakka.net/archives/29,我验证了依赖关系,确实lib/CopyLibs
目录是not在我们的源代码控制仓库中进行版本控制。这就是为什么我的本地环境能够编译,但 CI 服务器却不能编译。
将依赖项添加到类路径后 -org-netbeans-modules-java-j2seproject-copylibstask.jar
具体来说 - ant 构建成功。
就我个人而言,我觉得 NetBeans 需要外部依赖来完成作为标准存在的任务是荒谬的ant
task.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)