现在的位置: 首页 > 操作系统 > 正文

linux编译引用一个或多个第三方jar包方法(总结转载)

2018年12月18日 操作系统 ⁄ 共 943字 ⁄ 字号 评论关闭

参考:

http://cyesheng.iteye.com/blog/1544299

http://blog.sina.com.cn/s/blog_ab5e3d9b0101fodw.html


linux下编译引用第三方jar包的方法:

java文件需要引入外部的jar包: 
1、将外部jar包放在Linux路径下面。如/home/username/lib. 
2、将需要编译的java文件放在Linux路径下。如/home/username/test   
3、编译已经写好的java文件,命令如下(-cp指列出路径): 
   javac -cp /home/username/lib/sss.jar /home/username/test.java 
   生成test.class文件。 
4、运行程序,命令如下: 
   java -cp /home/username/lib/sss.jar:/home/username/lib/test
test



PS:

不过如果要引入的jar文件有多个的话,上面的格式要改为:冒号作为分隔符,并且同最后的java文件之间分隔符是冒号空格“: ”

例如:javac -cp /home/username/aaa.jar:/home/username/bbb.jar:/home/username/ccc.jar:
TestDemo.java

java
-cp /home/username/aaa.jar:
/home/username/bbb.jar:/home/username/ccc.jar: package.TestDemo.java

pps:

       如果有包,要在根目录下建立包名文件夹,把java文件放进去后编译,然后执行。

我犯过的错误是,有包名但编译时没有放在对应文件夹下,但是能通过,结果执行提示noClassDefFoundError。查资料后,java文件的根目录下建立了包名同名的文件夹,把编译好的class文件放入,之后java -cp执行,仍然提示错误。这可能是新手容易犯得错误之一。需要编译之前就建立对应的目录层次,这样生成的.class文件才是对的。.class文件在jvm执行时,是顺着classpath寻找文件的(当然首先保证环境变量PATH中有要执行的项目目录路径)

抱歉!评论已关闭.