我使用它是因为增强器插件无法处理 long CLASSPATH
s onWinodws
所以使用该插件不是一个有效的选项。
我的module.xml
文件几乎是默认文件,但我只删除enhance
了compile
和copy.metadata
. 我没有编译我的.java
课程,因为:
- 我有很多要包含的库,如果我升级任何一组库,都会很头疼。
- 我不需要,因为 eclipse 实际上就是这样做的
我删除了存档整个项目文件夹的部分,因为我只是在构建一个 JAR。-->
<echo message="==================================================================="/>
<echo message="Enhancing the MODULE files"/>
<echo message="==================================================================="/>
<!-- the classpath to enhance -->
<path id="module.enhancer.classpath">
<pathelement location="${module.classes.dir}"/>
<path refid="module.lib.classpath"/>
</path>
<!-- define the task enhancer -->
<taskdef name="nucleusenhancer"
classpathref="module.enhancer.classpath"
classname="org.datanucleus.enhancer.tools.EnhancerTask" />
<!-- enhance -->
<nucleusenhancer classpathref="module.enhancer.classpath"/>
</target>
<!--
===================================================================
TARGET : modulearchive
===================================================================
-->
<target name="modulearchive" depends="enhance">
<mkdir dir="${module.archive.dist.dir}"/>
<delete file="${module.archive.dist.dir}/${module.archive.dist.file}"/>
<zip zipfile="${module.archive.dist.dir}/${module.archive.dist.file}">
<zipfileset dir="${module.classes.dir}" prefix="" includes="**/*"/>
</zip>
</target>
我也有这个警告,无论我做什么都不会消失!
<taskdef name="nucleusenhancer"
classpathref="module.enhancer.classpath"
classname="org.datanucleus.enhancer.tools.EnhancerTask" />
>>>E:\Projects\Core - Module\${module.lib.dir} does not exist.
我的 module.properties 文件没有太大变化。我评论了WAR
建筑的属性和未评论的建筑属性JAR
:
#######################################
# SAMPLE FOR JAR MODULE (commented out)
#######################################
module.dir=./
module.lib.dir=${module.dir}/lib/dn
module.lib2.dir=${module.dir}/lib/deps
module.classes.dir=${module.dir}/target/classes
module.src.java.dir=./src/main/java
module.build.debug=on
module.archive.dist.dir=dist
module.archive.dist.file=${name}.jar
module.archive.files=**/*
我的项目文件夹lib
下的文件夹包含 2 个文件夹,用于 RDBMS 的 datanucleus 主 jar,而另一个文件夹包含 datanucleus 依赖项。我编译的类在下面target
。
输出如下:
Buildfile: E:\Projects\Core - Module\build.xml
default:
[echo] ===================================================================
[echo] Welcome to the build.
[echo] ===================================================================
enhance:
[echo] ===================================================================
[echo] Enhancing the MODULE files
[echo] ===================================================================
[nucleusenhancer] log4j:WARN No appenders could be found for logger (DataNucleus.Enhancer).
[nucleusenhancer] log4j:WARN Please initialize the log4j system properly.
[nucleusenhancer] DataNucleus Enhancer (version 3.1.0.release) : Enhancement of classes
[nucleusenhancer] DataNucleus Enhancer completed and no classes were enhanced. Consult the log for full details
modulearchive:
[zip] Building zip: E:\Projects\Core - Module\dist\my-module-name.jar
distribution:
[echo] ===================================================================
[echo] Module file ready at: dist/my-module-name.jar
[echo] ===================================================================
BUILD SUCCESSFUL
Total time: 2 seconds