[推荐]linux下java程序使用第三方jar包_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2554 | 回复: 0   主题: [推荐]linux下java程序使用第三方jar包        下一篇 
    本主题由 koei 于 2014-5-2 16:04:14 移动
yi.liao
注册用户
等级:少校
经验:917
发帖:52
精华:4
注册:2013-1-31
状态:离线
发送短消息息给yi.liao 加好友    发送短消息息给yi.liao 发消息
发表于: IP:您无权察看 2013-2-5 16:00:39 | [全部帖] [楼主帖] 楼主

javac编译源文件,源文件中import了第三方的源文件包,将会提示某些包不存在,三种解决方案如下。

 解决方案一:

javac命令中有一个选项是classpath

-classpath 类路径 

设置用户类路径,它将覆盖 CLASSPATH 环境变量中的用户类路径。若既未指定 CLASSPATH 又未指定 -classpath,则用户类路径由当前目录构成。 

如果需要设置 的用户类路径不止一个,如

javac -classpath e:/import.jar;e:/tmp/import.jar -d destationpath test.java


需要注意的是,两个引用的类路径之间用;,而不是用:

 解决方案二:

修改环境变量,把第三方包路径引入系统CLASSPATH。

修改环境变量的方法有三种:

1. 直接使用linux export命令

2. 修改/etc/profile文件

3.修改.bashrc文件

具体请看另外一篇博客:《fedora添加环境变量的方法总结》

 解决方法三:

使用shell脚本,这种方法很好,但是还没有试过,以下转自他人博客:

在Linux下运行JAVA程序需要profile文件来配置环境变量,将用到的所有jar包的公共路径写入到文件中,但对于单个工程就比较麻烦,需要将所有jar包拷贝到公共目录下,破坏了工程之间的独立完整性,可以使用下面的shell代码能解决问题.

生成一个文件:如jarload

join(){
LINE=''
while [ $# -ne 0 ]
do


LINE=$LINE:/工程目录/WEB-INF/lib/$1

shift
done
echo $LINE
}


FILES=`ls /工程目录/WEB-INF/lib`

CLASSPATH=`join $FILES`
echo $CLASSPATH
export CLASSPATH


再次运行程序,OK!!!

/root/.bash_profile;/usr/local/j2sdk1.4.2_02/bin/java -classpath /chroot/www/jsms/WEB-INF/classes:`/chroot/bin/jarload` com.工程目录.执行程序

该贴由koei转至本版2014-5-2 16:04:14




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论