当前位置: 首页 > 面试题库 >

如何制作Maven项目的“胖子”?

赵超
2023-03-14
问题内容

使用IntelliJ,我刚刚创建了一个新的Maven项目,并将以下内容添加到pom文件http://undertow.io/downloads.html中,并将以下内容添加到Main.java文件http://undertow.io/index.html中

现在,如果我运行代码,一切正常,但是如何使它成为一个“胖罐”,该胖罐将包含pom文件中的所有依赖关系,并且我只能运行java -jar my.jar?就像您能够使用Spring Boot应用程序一样。


问题答案:

Maven Shade插件可以做到这一点。

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>
      <version>2.4.3</version>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>shade</goal>
          </goals>
          <configuration>
            <transformers>
              <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                <mainClass>package.Main</mainClass>
              </transformer>
            </transformers>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>


 类似资料:
  • 我是IntelliJ maven java编程新手,我想通过我的程序为Mac OS生成dmg文件。 我的开发环境是Ubuntu IntelliJ Java Maven。当我搜索时,有一些插件可以从intelliJ生成dmg文件,但实际上对我来说非常复杂。 你能告诉我这个过程的顺序吗?提前谢谢。 此外,以下消息来自我使用appbundle maven插件运行mvn安装时的命令https://gith

  • 我有一个包含多个子项目的根项目。最初,我们将这些项目作为独立的Maven项目保留,但我意识到Gradle更适合我使用。但是对于其中一个子项目,我们宁可不将其转换为Gradle项目,而将其保留为Maven项目。 root/build.gradle root/common.gradle root/api/pom.xml

  • 问题内容: 我正在尝试编译一个Maven项目,源代码使用Generics和Java 1.5的其他功能,因此导致构建失败 在我中,我针对源和目标属性针对1.5配置了构建配置,但这不能解决我的问题 我是对的还是我错过了什么? 谢谢 尝试构建时输出 问题答案: 您使用有关源/目标的一些信息配置了程序集插件,但是要配置编译,您需要以正确的方式配置编译器插件。 更新: 这应该与maven-enforcer-

  • 我有一个使用Gradle作为构建工具的项目和第二个使用Maven的POM的子项目。我没有在子项目上更改构建工具的自由。 我想要实现的是将我的项目添加到Maven POM中,作为我的Gradle项目的依赖项。 其中root(当前目录)是我的Gradle项目,并包含,Maven项目位于下,POM文件就在该目录下。 我在我的< code>build.gradle文件中尝试了这些变化: 第一次尝试: 第二

  • 问题内容: 我创建了一个新的Spring Web应用程序,我非常想使用Maven处理构建/依赖关系。我的问题是,该项目依赖于一些现有的本地项目,而目前尚无法对它们进行美化。是否有可能依赖这些项目而不破坏它们? 问题答案: 不,您不应该尝试这样做。Maven的主要目标是拥有标准化的构建。这就是使Maven易于使用的原因:异常不是常态。这就是为什么Maven要求所有依赖项都采用典型的Maven格式(P

  • 我得到以下错误消息,同时添加m2e Maven与eclipse: 无法完成安装,因为找不到一个或多个必需项。正在安装的软件:用于Eclipse的m2e-Maven集成(包括孵化组件)1.6。1.20150625-2338(org.eclipse.m2e.feature.feature.group 1.6.1.20150625-2338)缺少要求:Maven POM XML编辑器1.6。1.2015