十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍了如何用maven将dubbo工程打成jar包来运行,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
创新互联公司于2013年开始,先为安仁等服务建站,安仁等地企业,进行企业商务咨询服务。为安仁企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。maven打包方式
使用maven打包插件maven-jar-plugin
在pom.xml
文件最后新增以下代码。maven-dependency-plugin
是指将依赖的jar包复制到指定目录maven-resources-plugin
将依赖的resources复制到指定目录
org.apache.maven.plugins maven-jar-plugin 2.6 true lib/ com.alibaba.dubbo.container.Main ${project.build.directory}/maven-archiver *.* config/* config/tencent/* META-INF/spring/* org.apache.maven.plugins maven-dependency-plugin 2.8 copy-dependencies package copy-dependencies ${project.build.directory}/maven-archiver/lib maven-resources-plugin copy-resources package copy-resources ${project.build.directory}/maven-archiver/resources ${basedir}/src/main/resources true
打包之后的目录结构
包含了class文件,以及需要的配置文件信息(不包含excludes的配置文件)
在MANIFEST.MF
中包含了运行需要的信息
Class-Path: lib/commons-beanutils-1.8.3.jar lib/commons-betwixt-0.8.jar ... Main-Class: com.alibaba.dubbo.container.Main
java -jar
启动命令
java -jar 执行命令时,会用到目录META-INFMANIFEST.MF中Main-Class的参数,这个是在打包的时候指定函数的入口。
java -jar x-0.0.1-SNAPSHOT.jar
java -cp
启动命令
java -cp .:x-0.0.1-SNAPSHOT.jar packname.mainclassname
因为我工程中需要引用外部的resources文件所以我通常用这种方式启动
配置文件地址是绝对路径
java -cp /Users/username/resources:dubbo-service-1.0.jar com.alibaba.dubbo.container.Main
-cp
和-classpath
是相同的效果
java -cp 是指定运行所依赖其他类的路径,通常是类库、jar 包之类,多个依赖在Window
上用分号";"隔开,linux
上用":"隔开。
表达式支持通配符
java -cp .:/Users/username/*.jar packname.mainclassname
如果需要将依赖的jar包都达到一个jar包中运行,可以使用maven-shade-plugin
这个插件。
这个插件的功能主要是:将依赖的jar包打包到当前jar包,并且在打包的时候把类重命名,可以解决jar包的多版本冲突,具体可以查询官方插件文档。
感谢你能够认真阅读完这篇文章,希望小编分享如何用maven将dubbo工程打成jar包来运行内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!