ant打包程序依赖外部jar包
2018-01-24 22:40
309 查看
1、程序单独打包,执行jar包前先export jar包到环境变量
JAR_PATH=/opt/java
CLASSPATH=$CLASSPATH:.:${JAR_PATH}/
for file in ${JAR_PATH}/lib/*;
do CLASSPATH=${CLASSPATH}:$file;
done
export CLASSPATH
echo $CLASSPATH
##运行jar包
2、
2-1、解压依赖jar包到打出来的jar中
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project Sj">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required -->
<target name="create_run_jar">
<jar destfile="C:/prj5.jar" filesetmanifest="mergewithoutmain">
<manifest>
<attribute name="Main-Class" value="com.www.tools.DBManager"/>
<attribute name="Class-Path" value="."/>
</manifest>
<fileset dir="F:/Sj/bin"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/poi-3.9.jar"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/dom4j-1.6.1.jar"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/poi-ooxml-3.8-20120326.jar"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/poi-ooxml-schemas-3.8-20120326.jar"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/xmlbeans-2.3.0.jar"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/mysql-connector-java-5.1.41-bin.jar"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/druid-1.0.13.jar"/>
</jar>
</target>
</project>
2-2、将依赖的jar包打进jar包中,编写jarinjarloader加载类,作为程序入口,先把jar包加载后再执行程序。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project zhongfangSj with Jar-in-Jar Loader">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required -->
<target name="create_run_jar">
<jar destfile="C:/prj6.jar">
<manifest>
<attribute name="Main-Class" value="org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader"/>
<attribute name="Rsrc-Main-Class" value="com.taiji.tools.DBManager"/>
<attribute name="Class-Path" value="."/>
<attribute name="Rsrc-Class-Path" value="./ poi-3.9.jar dom4j-1.6.1.jar poi-ooxml-3.8-20120326.jar poi-ooxml-schemas-3.8-20120326.jar xmlbeans-2.3.0.jar mysql-connector-java-5.1.41-bin.jar druid-1.0.13.jar"/>
</manifest>
<zipfileset src="jar-in-jar-loader.zip"/>
<fileset dir="F:/Sj/bin"/>
<zipfileset dir="F:\Sj\lib" includes="poi-3.9.jar"/>
<zipfileset dir="F:\Sj\lib" includes="dom4j-1.6.1.jar"/>
<zipfileset dir="F:\Sj\lib" includes="poi-ooxml-3.8-20120326.jar"/>
<zipfileset dir="F:\Sj\lib" includes="poi-ooxml-schemas-3.8-20120326.jar"/>
<zipfileset dir="F:\Sj\lib" includes="xmlbeans-2.3.0.jar"/>
<zipfileset dir="F:\Sj\lib" includes="mysql-connector-java-5.1.41-bin.jar"/>
<zipfileset dir="F:\Sj\lib" includes="druid-1.0.13.jar"/>
</jar>
</target>
</project>
2-3、 将依赖的jar包单独存放,在MANIFEST.MF中的Class-Path引入依赖jar包,此种方式实现依赖jar和程序分离,但jar包相对位置不能变
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project zhongfangSj with libraries in sub-folder">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required -->
<target name="create_run_jar">
<jar destfile="C:/prj7.jar">
<manifest>
<attribute name="Main-Class" value="com.taiji.tools.DBManager"/>
<attribute name="Class-Path" value=". prj7_lib/poi-3.9.jar prj7_lib/dom4j-1.6.1.jar prj7_lib/poi-ooxml-3.8-20120326.jar prj7_lib/poi-ooxml-schemas-3.8-20120326.jar prj7_lib/xmlbeans-2.3.0.jar prj7_lib/mysql-connector-java-5.1.41-bin.jar prj7_lib/druid-1.0.13.jar"/>
</manifest>
<fileset dir="F:/Sj/bin"/>
</jar>
<delete dir="C:/prj7_lib"/>
<mkdir dir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/poi-3.9.jar" todir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/dom4j-1.6.1.jar" todir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/poi-ooxml-3.8-20120326.jar" todir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/poi-ooxml-schemas-3.8-20120326.jar" todir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/xmlbeans-2.3.0.jar" todir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/mysql-connector-java-5.1.41-bin.jar" todir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/druid-1.0.13.jar" todir="C:/prj7_lib"/>
</target>
</project>
jarinjarload代码及例子:http://download.csdn.net/download/yonghutwo/9821737
JAR_PATH=/opt/java
CLASSPATH=$CLASSPATH:.:${JAR_PATH}/
for file in ${JAR_PATH}/lib/*;
do CLASSPATH=${CLASSPATH}:$file;
done
export CLASSPATH
echo $CLASSPATH
##运行jar包
2、
2-1、解压依赖jar包到打出来的jar中
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project Sj">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required -->
<target name="create_run_jar">
<jar destfile="C:/prj5.jar" filesetmanifest="mergewithoutmain">
<manifest>
<attribute name="Main-Class" value="com.www.tools.DBManager"/>
<attribute name="Class-Path" value="."/>
</manifest>
<fileset dir="F:/Sj/bin"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/poi-3.9.jar"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/dom4j-1.6.1.jar"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/poi-ooxml-3.8-20120326.jar"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/poi-ooxml-schemas-3.8-20120326.jar"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/xmlbeans-2.3.0.jar"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/mysql-connector-java-5.1.41-bin.jar"/>
<zipfileset excludes="META-INF/*.SF" src="F:/Sj/lib/druid-1.0.13.jar"/>
</jar>
</target>
</project>
2-2、将依赖的jar包打进jar包中,编写jarinjarloader加载类,作为程序入口,先把jar包加载后再执行程序。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project zhongfangSj with Jar-in-Jar Loader">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required -->
<target name="create_run_jar">
<jar destfile="C:/prj6.jar">
<manifest>
<attribute name="Main-Class" value="org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader"/>
<attribute name="Rsrc-Main-Class" value="com.taiji.tools.DBManager"/>
<attribute name="Class-Path" value="."/>
<attribute name="Rsrc-Class-Path" value="./ poi-3.9.jar dom4j-1.6.1.jar poi-ooxml-3.8-20120326.jar poi-ooxml-schemas-3.8-20120326.jar xmlbeans-2.3.0.jar mysql-connector-java-5.1.41-bin.jar druid-1.0.13.jar"/>
</manifest>
<zipfileset src="jar-in-jar-loader.zip"/>
<fileset dir="F:/Sj/bin"/>
<zipfileset dir="F:\Sj\lib" includes="poi-3.9.jar"/>
<zipfileset dir="F:\Sj\lib" includes="dom4j-1.6.1.jar"/>
<zipfileset dir="F:\Sj\lib" includes="poi-ooxml-3.8-20120326.jar"/>
<zipfileset dir="F:\Sj\lib" includes="poi-ooxml-schemas-3.8-20120326.jar"/>
<zipfileset dir="F:\Sj\lib" includes="xmlbeans-2.3.0.jar"/>
<zipfileset dir="F:\Sj\lib" includes="mysql-connector-java-5.1.41-bin.jar"/>
<zipfileset dir="F:\Sj\lib" includes="druid-1.0.13.jar"/>
</jar>
</target>
</project>
2-3、 将依赖的jar包单独存放,在MANIFEST.MF中的Class-Path引入依赖jar包,此种方式实现依赖jar和程序分离,但jar包相对位置不能变
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project zhongfangSj with libraries in sub-folder">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required -->
<target name="create_run_jar">
<jar destfile="C:/prj7.jar">
<manifest>
<attribute name="Main-Class" value="com.taiji.tools.DBManager"/>
<attribute name="Class-Path" value=". prj7_lib/poi-3.9.jar prj7_lib/dom4j-1.6.1.jar prj7_lib/poi-ooxml-3.8-20120326.jar prj7_lib/poi-ooxml-schemas-3.8-20120326.jar prj7_lib/xmlbeans-2.3.0.jar prj7_lib/mysql-connector-java-5.1.41-bin.jar prj7_lib/druid-1.0.13.jar"/>
</manifest>
<fileset dir="F:/Sj/bin"/>
</jar>
<delete dir="C:/prj7_lib"/>
<mkdir dir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/poi-3.9.jar" todir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/dom4j-1.6.1.jar" todir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/poi-ooxml-3.8-20120326.jar" todir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/poi-ooxml-schemas-3.8-20120326.jar" todir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/xmlbeans-2.3.0.jar" todir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/mysql-connector-java-5.1.41-bin.jar" todir="C:/prj7_lib"/>
<copy file="F:/Sj/lib/druid-1.0.13.jar" todir="C:/prj7_lib"/>
</target>
</project>
jarinjarload代码及例子:http://download.csdn.net/download/yonghutwo/9821737
相关文章推荐
- ant打包程序依赖外部jar包
- Ant打包jar,程序的混淆
- idea打包java程序(包含依赖的所有jar包)
- eclipse java程序打包成jar 引用外部jar包
- 将Java程序打包成可执行文件jar包,然后执行jar包,引用外部包的情况
- Spring Boot 将第三方依赖和配置文件打包在jar外部并引用
- 在ant中将依赖jar包一并打包的方法
- java命令行执行程序解决依赖外部jar包的问题
- ant编译打包可运行的jar文件,并包含所依赖的第三方jar包
- 用ant将java程序打包成jar
- Android程序引用外部jar时,build.xml打包脚本配置
- 【深入JAVA】程序打包成Jar包运行并读取外部配置文件
- jar包读取资源、引用外部JAR包后打包、制作可执行程序
- Maven系列(八)assembly打包-程序和依赖jar包分开化+多环境
- 打包Java程序,jar转exe并且不依赖java环境
- ant编译打包可运行的jar文件,并包含所依赖的第三方jar包
- 将eclipse java程序打包成jar的总结(包括工程中没有引用外部jar包和有引用外部jar包两种情况)
- 【Ant】Ant实例(1)一个Java文件依赖于某jar包,需要打包部署
- netbeans打包java程序,并包含外部jar包
- maven的两种可运行jar打包方式。1、内置依赖,2、外部依赖