Maven手记

不断记录,就不会忘了…

打包成可执行jar

官方文档:https://maven.apache.org/plugins/maven-jar-plugin/
在之前可能会遇到找不到主类的问题:

[jimo@jimo-pc target]$ java test-app-1.0-SNAPSHOT.jar
Error: Could not find or load main class test-app-1.0-SNAPSHOT.jar
[jimo@jimo-pc target]$ java -jar test-app-1.0-SNAPSHOT.jar
no main manifest attribute, in test-app-1.0-SNAPSHOT.jar

解决办法:需要在pom.xml里配置

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.0.2</version>
        <configuration>
          <archive>
            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
          </archive>
        </configuration>
        ...
      </plugin>
    </plugins>
  </build>
  ...
</project>

当然这种方法需要自定义清单文件,更简单的是直接定义入口类:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.0.2</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.jimo.App</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
  </build>

其中com.jimo.App包含main方法,是整个程序的入口。

然后重新构建jar包再执行:

[jimo@jimo-pc test-app]$ mvn clean install
[jimo@jimo-pc target]$ java -jar test-app-1.0-SNAPSHOT.jar
Hello World!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值