【debug】IntelliJ IDEA 或 maven 打包含 main 的 jar

照下面的方法执行,不会出现找不到主清单错误。

IntelliJ IDEA

  1. File - Project Structure - Artifacts.
  2. + - JAR - From modules with dependencies
    【debug】IntelliJ IDEA 或 maven 打包含 main 的 jar_第1张图片
  3. 设置 Main Class,选择主类。
  4. 设置 Directory for META_INF/MANIFEST.MF,选择到 src/main/java 目录,不要再往下选择。
    【debug】IntelliJ IDEA 或 maven 打包含 main 的 jar_第2张图片
  5. 回到主界面, Build - Build Artifact - Build
  6. 此时在项目根目录的 out 文件夹一直向下找就会有打包好的 jar 包。
  7. 使用 java -jar 即可执行。

Maven

  1. 在 pom.xml 中 上方加入以下内容

        <build>
    
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.pluginsgroupId>
                    <artifactId>maven-shade-pluginartifactId>
                    <version>3.0.0version>
                    <executions>
                        <execution>
                            <phase>packagephase>
                            <goals>
                                <goal>shadegoal>
                            goals>
                            <configuration>
                                <transformers>
                                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                        <mainClass>main.MainmainClass>
                                    transformer>
                                transformers>
                            configuration>
                        execution>
                    executions>
                plugin>
            plugins>
        build>
    

    其中 mainClass 项设置为你的项目入口。

  2. intellij 右侧找到 Maven,Maven - Lifecycle - package(推荐先 clean 一次);或者直接在项目根目录执行 mvn clean package。
    【debug】IntelliJ IDEA 或 maven 打包含 main 的 jar_第3张图片

  3. 项目根目录的 target 文件夹里会生成 xxx.jar 与 original-xxx.jar,xxx 是你的项目名和版本号。java -jar xxx.jar 即可运行。

  4. 可以在 pom.xml 中添加 finalName 项,这样上面的 xxx 就会换成这一项的值。

注:mvn package 和 mvn install 都会将项目生成 jar 包,区别是是否部署到本地仓库。

你可能感兴趣的:(JAVA,DEBUG)