Java启动命令与Maven打包设置

一、Java启动命令

java程序的启动方式有三种:

1、java -jar

  生成的jar包中,manifest文件定义了Main Class,可使用该命令

java -jar test.jar

2、java -cp

  生成的jar包中,无Main Class配置,可使用该命令

java -cp test.jar cn.matt.Test

  该命令也可从class文件中启动java程序,对于依赖的jar包,须明确列出,并用分号(windows)或冒号(Linux)分隔

java -cp ./target/classes;test2.jar cn.matt.Test

3、java -Djava.ext.dirs

  当jar中包含依赖包时,使用java -cp并不方便,此时可使用该命令,只需指定依赖包目录

java -Djava.ext.dirs=. cn.matt.maven_test.App

二、Java打包设置

使用Maven打包,默认情况下,生成的jar包不能直接运行(无Main Class),并且不包含依赖jar包

指定Main Class,并包含依赖的jar包配置:

<build>
     <plugins>
         <plugin>
             <artifactId>maven-assembly-plugin</artifactId>
             <configuration>
                 <appendAssemblyId>false</appendAssemblyId>
                 <descriptorRefs>
                     <descriptorRef>jar-with-dependencies</descriptorRef>
                 </descriptorRefs>
                 <archive>
                     <manifest>
                         <mainClass>cn.matt.maven_test3.App</mainClass>
                     </manifest>
                 </archive>
             </configuration>
             <executions>
                 <execution>
                     <id>make-assembly</id>
                     <phase>package</phase>
                     <goals>
                         <goal>assembly</goal>
                     </goals>
                 </execution>
             </executions>
         </plugin>
     </plugins>
 </build>

三、编译器设置

可通过maven设置项目编译器

<build>
    <finalName>wfc-web</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
                <encoding>utf8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>

参考:

Maven打包含有Main方法jar并运行

java命令行运行jar里的main类

Eclipse中通过Maven更改jdk设置

原文地址:https://www.cnblogs.com/MattCheng/p/8695764.html