關於如何執行jar包

若是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
相關文章
相關標籤/搜索