有的时候,我们需要会使用javaSE打包项目,然后将外部依赖的jar包都打包在一个jar中,然后直接运行这个jar就行了。
默认的maven打包打包出来,jar里面的MAINFEST.MF里面是没有指定MAIN.CLASS的。
可以指定pom.xml中maven的版本为以下:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>SynRest</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
执行这个package的话会打包出来两个jar文件。
直接打包出来一个jar,这个jar就是所有依赖和我们写好的main方法的那些java文件组成的jar。
这个jar文件就可以直接使用 java -jar **** 运行了。