欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Java】通过Maven打可执行jar包

程序员文章站 2022-03-02 18:29:01
...

通过Maven打可执行jar包

方法:利用maven-shade-plugin : 用于把多个jar包,打成1个jar包

  1. 首先工程中需要有一个包含main函数类
  2. 修改maven 的 pom.xml 文件
<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.3</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
                <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                    // Main文件,例如cn.chain.ang.app.Main
                    <mainClass>xxx.Main</mainClass>
              </transformer>
                <filters>
                <filter>
                    // 在构建jar包时将META-INF目录下的SF、DSA、RSA文件排除在外,即不会包含在jar包里面。
                  <artifact>*:*</artifact>
                  <excludes>
                    <exclude>META-INF/*.SF</exclude>
                    <exclude>META-INF/*.DSA</exclude>
                    <exclude>META-INF/*.RSA</exclude>
                  </excludes>
                </filter>
              </filters>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
</build>

3 . 执行 package

在项目根目录下执行 mvn package -DskipTests 后面这个参数表示跳过测试
==> 然后在target文件夹下面可以看到两个jar包
a. original-Anglet-1.0-SNAPSHOT.jar // 不带依赖
b. Anglet-1.0-SNAPSHOT.jar //带依赖

4 . 运行 jar

java -jar xx.jar
如果需要参数:则为 java -jar xx.jar arg arg是需要的参数

相关标签: maven