我正在为自己编写的javaagent创建一个jar文件。但是,该代理依赖于另一个java库。
所以,我想知道,我如何将我的程序正在使用的整个包包含到jar文件中,以便在jar执行时可以使用它?
解压缩要包含的jar并将其放入最终的jar中。下面是一些ant命令,可以帮你完成这些工作。
<target name="package">
<!-- Staging is simply a temporary directory for exploding the jar files. You
can call the directory whatever you want. -->
<property name="staging.dir" location="staging"/>
<mkdir dir="${staging.dir}"/>
<unjar dest="${staging.dir}">
<fileset dir="lib" >
<include name="*"/>
</fileset>
</unjar>
<mkdir dir="classes"/>
<javac debug="on" srcdir="src" destdir="classes" target="1.5" includes="**/*">
<classpath refid="build.class.path"/>
</javac>
<jar destfile="Product.jar"
basedir="classes"
excludes="**/Test.class">
<fileset dir="${staging.dir}"/>
</jar>
<!-- Delete the temporary staging directory. -->
<delete dir="${staging.dir}" />
</target>