java打jar包,引用其他.jar文件
来源:互联网 发布:js获取file绝对路径 编辑:程序博客网 时间:2024/05/16 15:09
大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口。
具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件。
比如有个叫做test.jar的jar包,里面有一个拥有main函数的main class:test.someClassName
我们就只要在MANIFEST.MF里面添加如下一句话:
Main-Class: test.someClassName
然后我们可以在控制台里输入java -jar test.jar即可以运行这个jar。
但是我们这个项目需要引用其他第三方的jar包,在eclipse里面以项目jar包的形式引用了这个叫做some.jar的包,当时放在项目的lib子目录下,最后项目打包时把这个some.jar也打进来了,但是用java -jar执行这个test.jar的时候报找不到Class异常,原因就是jar引用不到放在自己内部的jar包。
那怎么办?
运行时将其加入classpath的方式行不行?就是在运行jar的同时加入classpath参数:
java -classpath some.jar -jar test.jar
这种方式应该能解决问题吧,试一下,还是不行。
查了下资料,原来使用java -jar 命令运行jar包时classpath参数将会失效,所以,这种方式也不行。
那该怎么引用其他的jar包呢,答案还是在这个目录META-INF下的MANIFEST.MF文件中。jar包引用其他jar包的信息必须在这个文件中声明。
我们在MANIFEST.MF中添加如下代码:
Class-Path: lib/some.jar
lib是和test.jar同目录的一个子目录,test.jar要引用的some.jar包就在这里面。
然后测试运行,一切正常!
如果有多个jar包需要引用的情况:
Class-Path: lib/some.jar lib/some2.jar
每个单独的jar用空格隔开就可以了。
总结:不管怎么样,只要想办法在执行test.jar之前把需要引用的jar导入classpath就可以。你甚至可以把需要引用的包都放到jre/lib/ext目录下,这样jvm一启动,这些包就加载了。
- java打jar包,引用其他.jar文件
- java打jar包,引用其他.jar文件
- java命令打jar包,引用其他.jar文件
- 解决java项目打jar包,项目中引用有其他jar包的问题
- Java 打jar包
- java 打jar包
- Java 打jar包
- Java 打jar包
- Java打Jar包
- Java打jar包,生成.bat文件
- java project项目打jar包过程(里面有引用第三方的jar和dll文件)
- 打jar包及运行jar文件
- Java 引用jar包
- class文件打jar包
- 如何在pom文件引用其他项目作为JAR包
- java 打jar包和运行jar
- 命令行下【打jar包】&【引用jar包】简单使用
- java如何打jar包
- Linux ping不通百度的解决方法
- 表单对象属性选择器
- ConfigReader(十)—— ReadGuideBornNpcTaskConfig
- 排序 8
- MySQL在以下几种情况会创建临时表
- java打jar包,引用其他.jar文件
- Spring
- C#语言-编写一个控制台应用程序,可根据输入的月份判断所在季节
- SOM自组织神经网络学习
- 阿里云ECS CentOs7.3下搭建LAMP环境(Apache2.4 + Mysql5.7 + PHP5.6 + Laravel5.2)
- LeetCode 674. Longest Continuous Increasing Subsequence
- 2017-10-11-jquery-使用ajax传递参数遇到的一个问题
- Mysql之左连接右连接内连接——示例
- Html菜单折叠