Maven打包可执行JAR
2014-11-24 08:57
302 查看
执行mvn clean package生成的JAR包默认是不可执行的,因为带有main方法的信息不会被添加到manifest中。使用java -jar运行该包时,报错如下:
no main manifest attribute, in original-helloworld-1.0-SNAPSHOT.jar
为了生成可执行的JAR包,需要借助maven-shade-plugin插件,生成可执行JAR包只是该插件的功能之一,其他功能见官网,配置示例网址为:
http://maven.apache.org/plugins/maven-shade-plugin/examples/executable-jar.html
配置代码(pom.xml):
关键的一行在于mainClass,它重新设定了程序运行的入口地址,其内容就是我们编写的类名称。
然后重新运行mvn clean package生成可执行JAR包,当使用java -jar命令再次执行该包时,正常输出结果。
no main manifest attribute, in original-helloworld-1.0-SNAPSHOT.jar
为了生成可执行的JAR包,需要借助maven-shade-plugin插件,生成可执行JAR包只是该插件的功能之一,其他功能见官网,配置示例网址为:
http://maven.apache.org/plugins/maven-shade-plugin/examples/executable-jar.html
配置代码(pom.xml):
<project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>org.sonatype.haven.HavenCli</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> ... </project
关键的一行在于mainClass,它重新设定了程序运行的入口地址,其内容就是我们编写的类名称。
然后重新运行mvn clean package生成可执行JAR包,当使用java -jar命令再次执行该包时,正常输出结果。
相关文章推荐
- 19、Maven项目打包成可执行Jar文件
- Maven打包可执行Jar的几种方法
- 使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包
- Maven项目打包成可执行的jar
- maven 打包可执行的jar
- Apache Maven 打包可执行jar
- 将Maven项目打包成可执行jar文件(引用第三方jar)-支持Spring的项目
- maven-assembly-plugin 打包可执行jar(fat jar)和配置文件与jar同时打包部署
- maven:打包成可执行jar
- 将maven项目打包成可执行的jar
- maven 打包可执行jar包的坑
- Maven项目打包成可执行Jar文件
- 将Maven项目打包成可执行jar文件(引用第三方jar)
- maven-assembly-plugin 打包可执行jar(fat jar)和配置文件与jar同时打包部署
- maven打包dubbo可执行jar
- 【Maven】maven打包生成可执行jar文件
- maven 打包可执行 jar包 java application 方法
- Spring4集成quartz,Maven打包为可执行jar或者war
- Maven使用maven-shade-plugin对java工程及其全部依赖打包可执行jar
- maven 打包可执行jar的方法