Maven打包可执行文件
Maven在默认情况,打包成的jar包是不可执行的,查看jar包是否可运行:打开jar包下的META-INF/MANIFEST.MF,里面若有Main-class: xxx的话就说明示可执行。而maven默认情况下打包完后是不含这一项的。
要让maven打包成可执行的jar:在pom.xml的project元素下新增下面配置(若已有plugins节点,则直接把plugin节点置于其下即可)
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>1.2.1</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
- <mainClass>这里写主类完整路径</mainClass>
- </transformer>
- </transformers>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
改完后再运行mvn clean package后,会看到jar包下META-INF/MANIFEST.MF会有Main-class这一行,然后java -jar jar-name 就可以运行主类了