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

linux下java程序使用第三方jar包

2013-02-04 19:18 337 查看
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下运行J***A程序需要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.工程目录.执行程序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: