我对netbeans及其构建定义还很陌生,所以我想要实现的目标可能是不可能的......
我正在使用 netbeans 开发几个插件,我希望在生成 bee 后将所有 jar 文件复制到一个公共目录中。
我可以<target name="-post-jar">
在每个build.xml
文件中使用一个块来做到这一点,但是由于将来会有更多常见的事情要做,我想将复制指令放在一个公共文件中,该文件将包含在build.xml
每个插件的每个文件中。
这是我所做的:
我movejar.xml
在所有项目所在的目录中创建了一个文件(/home/xxx/dev/plugins
),其中包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<project name="movejar" default="default" basedir=".">
<target name="-post-jar">
<property name="mcp.destpath" value="/home/xxx/dev/plugins" />
<echo message="Moving ${dist.jar} to ${mcp.destpath}" />
<copy file="${dist.jar}" flatten="true" todir="${mcp.destpath}" />
</target>
</project>
然后我添加了一条import
指令/home/xxx/dev/plugins/myplugin/build.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<project name="myplugin" default="default" basedir=".">
<description>Builds, tests, and runs the project myplugin.</description>
<import file="nbproject/build-impl.xml"/>
<import file="../movejar.xml"/>
</project>
导入很好,因为当我放入<echo>foo</echo>
(movejar.xml
在该target
部分之外)时,它会显示在编译日志中。
问题是-post-jar
目标没有在编译时执行(当然在项目属性中启用了jar生成),echo没有出现在编译日志中并且没有复制jar文件,也没有错误......
有任何想法吗 ?