写在前面
昨天提了一个问题,最终完美解决问题,特此记录一下。
好了,简单的分享一下过程吧!
从提问的问题中,我已经说明了,这个项目是个中间件,开发完了提供出来的是一个jar包,具体是干嘛的就不说了,最终就是要放在服务器上,启动这个jar。 有的牛牛估计傻了,什么,启动jar? 对的,你没有听错,就是启动jar。
一般来说,在开发工具里面 IDE / eclipse 里面我们启动程序的一个唯一入门就是main方法,那么要启动一个 jar,入口在哪里?
入口一样的也是main方法,只是我们脱离了开发工具,要用命令去执行程序了而已。
在windows中,我们可以在cmd中使用 java -jar XXX 的方式去启动 我们打好的jar。
说到这里,必须说说,在maven中打出来的jar
上面说到可以用 jave -jar 方式启动jar包,但是如果你是用maven进行开发管理的话,默认的打出来的jar包是不能运行的。
如图所示
这就是原始maven 打出来jar包,使用maven默认的package命令构建的jar包中只包括了工程自身的class文件,并没有包括依赖的jar包。
问题就在这里。
解决方法:
在pom.xml文件中
添加如下代码(问题中也已经写了)
org.apache.maven.plugins
maven-shade-plugin
1.2.1
package
shade
这里写你的运行的类所在的package+className
参考资料链接:maven-assembly-plugin插件的使用说明http://chenzhou123520.iteye.com/blog/1706242 有需要的牛牛自己学习学习
好了,通过以上步骤,就可以生成2jar包
一个为:original-XXX-0.0.1-SNAPSHOT.jar,另一个为:XXX-0.0.1-SNAPSHOT.jar,其中original...jar里只包含了工程自己的class文件,而另外的一个jar包则包含了工程本身以及所有依赖的jar包的class文件。我们只需要使用第二个jar包就可以了。
如图所示
那么重点来了,jar包问题解决了,丢服务器的启动脚本在哪里?
少年别急,下载我分享的脚本,一探究竟吧!
我是最代码伊成,你值得关注我!