您的位置:首页 > 运维架构 > Shell

设置一个目录中的jar包到classpath中,并且执行一个jar文件

2007-11-16 17:12 477 查看
有一个种方法就是在需要执行的jar文件中的MAINFEST文件设置CLASSPATH,这样的方法很容易写错名字也不适合随时添加删除lib文件夹中的.jar文件,因为每次添加删除就需要修改MAINFEST文件的CLASSPATH

查到不少如何将一个目录的jar包设置为classpath,但是如果设置完以后执行java -jar命令去执行一个jar包,前面的设置会被默认屏蔽了。

解决的方法就是把要执行的jar包也设置到classpath中去,然后执行普通的java命令运行jar包中的class文件

例如,windows中制作一个run.bat文件,内容为:

SetLocal EnableDelayedExpansion   
set CLASSPATH=.
FOR %%i IN ("lib/*.jar") DO SET CLASSPATH=!CLASSPATH!;%%i              //这儿一定要是!不是%
set CLASSPATH=%CLASSPATH%;JOSP.jar                                                     //这是我要执行的jar文件
echo %CLASSPATH%
java -cp %CLASSPATH% jospserver.ospserver 192.168.100.206 7 chenyi  //jospserver为package名,ospserver 为class名,后面是我程序需要的运行参数

在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐