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
=======================================================
在linux中就制作一个shell命令,run.sh,内容为:
#!/bin/sh
#获取当前目录
PWD=`pwd`
CLASSPATH=$PWD/JOSP.jar:"$CLASSPATH"
for i in lib/*.jar;
do CLASSPATH=$PWD/$i:"$CLASSPATH";
done
export CLASSPATH=.:$CLASSPATH
java -cp $CLASSPATH jospserver.ospserver 192.168.100.206 7 chenyi
这样就省去了设置JOSP.jar文件中MAINFEST里面的classpath参数,而且可以根据需要添加和删除lib文件夹中的.jar文件而不需要修改MAINFEST
##运行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