一、eclipse安装好maven插件之后,用maven的archetype创建一个OSGI项目,搭建好项目骨架。
二、可执行jar文件分为两种,一种是可通过命令行java -jar xxx.jar 可以直接运行的jar文件,一种是工其他jar文件调用的jar文件。第一种jar文件的META-INF文件夹下的manifest.MF文件含有Main-Class值,第二种jar文件则不包含。第一种的jar文件可以直接运行的原因是,其可以直接调用到其所依赖依赖的jar包,第一种方式是直接在manifest.MF文件中配上Class-Path的值,第二种方式可以将所依赖的jar文件一起打包进该jar包,可以通过maven插件,下面提供两种插件方式。
第一种:
org.apache.maven.plugins
maven-jar-plugin
2.4
true
lib/
com.sinoi.APP
运行mvn clean package即可
批注:
经过我本人自测之后发现,这种方式虽然可以打包,但是不会将依赖包也添加进去。可以手动将依赖包配到元素的路径下,然后命令行运行。
第二种:
org.apache.maven.plugins
maven-assembly-plugin
2.3
false
jar-with-dependencies
com.HelloWorld
make-assembly
package
assembly
运行mvn assembly:assembly ( 我自己使用mvn clean package也是可以的)
批注:
这个方式和方式1不同,这种打包方式,将项目及所依赖的所有jar文件以类的方式打入jar包,让打出来的JAR包成为一个可独立运行的JAR包
原文:http://www.cnblogs.com/iwideal/p/6021531.html