若是MANIFEST.MF中指定了main class 那么执行时使用如:css
java -jar jar包名.jar aaa bbb (后面跟的是传到args中的参数)
若是没有,执行时使用如:java
java -cp jar包名.jar 要执行main方法的类的完整类名 aaa bbb
另外若是服务器默认的java版本太低,抛出了ERROR:java.lang.UnsupportedClassVersionError: org/apache/kafka/clients/consumer/Consumer : Unsupported major.minor version 52.0,能够经过临时设置PATH和CLASSPATH来指定用高版本jvm运行jar包,命令以下:
#临时设置path export PATH=/opt/jdk1.8.0_121/bin:$PATH #临时设置classpath set classpath=/opt/jdk1.8.0_121/jre/lib,%classpath%
以后再用java -cp或java -jar命令执行jar包就好了python
关于在MANIFEST.MF中写入main class能够在pom中指定如(若是有多个main.class那么指定一个最主要的,其余经过java -cp执行):
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.5.5</version>
<configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>io.test.main.MainOfDiskMount</mainClass> </manifest> </archive> </configuration>
<executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>assembly</goal> </goals> </execution> </executions>
</plugin> </plugins> </build>
pom中写好后,经过执行maven的assembly命令便可打出with依赖的jar包 apache
另外关于如何打出可执行jar包参考:https://blog.csdn.net/xiao__gui/article/details/47341385