maven 打可执行jar
来源:互联网 发布:公共基础知识考试软件 编辑:程序博客网 时间:2024/05/02 01:03
做个短信项目全是socket,突然发现自己好像只会打war包,都是给tomcat 或者jetty用的
下面就讲一下怎么打一个可执行的jar
可执行jar 中有个MANIFEST.MF 文件指明了开始的入口,和lib等,内容如下
Manifest-Version: 1.0
Built-By: lxn
Build-Jdk: 1.7.0_79
Class-Path: lib/jcl-over-slf4j-1.7.12.jar lib/slf4j-api-1.7.12.jar lib
/log4j-over-slf4j-1.7.12.jar lib/jul-to-slf4j-1.7.12.jar lib/logback-
classic-1.1.3.jar lib/logback-core-1.1.3.jar
Created-By: Apache Maven 3.2.2
Main-Class: com.bestpay.smgptest.newDemo.LongConnectionTest
Archiver-Version: Plexus Archiver
这个文件主要使用maven 中的 maven-jar-plugin
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>${mainClass}</mainClass> </manifest> <!--<manifestEntries>--> <!--<Class-Path>lib/SmsProtocol-2.0.jar</Class-Path>--> <!--</manifestEntries>--> </archive> </configuration> </plugin>
好了,你的项目已经可以打包出带MANIFEST.MF 的项目了
然后因为我们要部署到服务器,一些lib也得拷贝过去
可以使用下面的插件:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.8</version> <executions> <execution> <id>copy</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin>
这个插件可以帮我们把依赖的jar 拷贝到 指定位置,这里拷贝到了 target/lib 下
最后我们可以在使用maven 打包后,将jar 和lib 一起复制到linux 上 然后 使用 java -jar xxx.jar的方式运行
0 0
- maven 打可执行jar
- maven打可执行jar包
- maven打可执行jar包
- Maven打Dubbo可执行Jar
- maven打可执行jar包的插件
- maven打一个可执行的jar包
- maven javaproject工程打可执行jar包
- myeclipse用maven打可执行jar包
- maven打本地可执行jar包
- 使用maven-jar-plugin打可执行jar包
- maven打可执行jar包及依赖jar包
- 打可执行jar包
- 使用 maven-shade-plugin打可执行jar包
- maven打可执行的jar包以及classpath设置
- eclipse用maven打可执行的jar包
- maven 打可执行jar包(可用于moudle)
- 使用maven-shade-plugin插件打可执行jar包
- 使用maven打可执行jar包的两种方式
- 使用伪造,更好地测试
- python functools模块
- 分享一款Web压力测试工具Pylot
- php 获取本周星期一到天的各自时间戳(从早上零点到晚上23:59)
- 用.msi安装node时安装失败,出现rolling back action
- maven 打可执行jar
- 真实项目运用-RecyclerView封装
- 使用contexts来避免goroutines泄露
- 解决ios设备自带邮箱只能接收邮件不能发送邮件问题的方法
- MySQL show命令
- kettle调试远程执行的作业
- Mycat范围求模分片
- 理解OAuth 2.0
- Facebook App 优化工具 ReDex