【问题标题】:Creating a jar from a maven project in intellij从 intellij 中的 maven 项目创建 jar
【发布时间】:2015-07-24 03:41:56
【问题描述】:

我在 IntelliJ 中创建了一个新的 maven 项目并将打包设置为 jar,但是当我构建它时,目标文件夹不包含 jar。我确信这对我来说真的很愚蠢,但是我在不同的网站上阅读了很多不同的东西,我只是觉得问起来更好。

【问题讨论】:

  • 你建的时候有没有点击Maven Projects > Life Cycle > package
  • @ZhongYu 不,你看,这个问题是关于使用IntelliJ IDEA的,所以当他构建它时,他没有点击任何maven,因为他正在使用 IntelliJ IDEA,并且正在使用 IntelliJ IDEA 进行构建。
  • 转到 Maven 项目 > 生命周期 > 包,然后右键单击并从第二组中选择您想要创建包的时间。之后,每当您构建它时,它都会记住并自动创建您的 jar 文件。

标签: java maven intellij-idea


【解决方案1】:

您需要在 pom.xml 的包装部分包含“jar”。您可以在依赖项部分之前添加它:

<packaging>jar</packaging>

然后去查看 -> 工具窗口 -> Maven 并在 Maven 窗口中展开所有内容并双击 Lifecycle 部分中的“package”。

【讨论】:

  • 去掉这个答案中的星号
【解决方案2】:

进入maven项目,双击clean and package。

只需执行以下操作:

【讨论】:

  • 这是最简单的方法,非常感谢
  • 当我尝试使用工件进行构建时,JAR 文件无法正常工作,但这是最简单的方法,并且 JAR 应用程序运行时没有任何问题。谢谢!
【解决方案3】:

您应该使用 IDEA 的 Maven Projects 视图构建您的项目。

查看 -> 工具窗口 -> Maven 项目

或从左下角菜单打开:

然后使用 maven 目标构建您的项目 - 即包:

如果在pom.xml 中将包装设置为jar,您将在target 目录中获得一个罐子。

【讨论】:

  • 我这样做了,它确实像我想要的那样创建了 jar。唯一的问题是当我将它添加到另一个项目的项目结构中时,我无法从这个库中访问该类。我刚刚添加了一个 SimpleUser 类来测试它,但它没有出现在我的其他项目中。
【解决方案4】:

假设屏幕截图显示了完整的 pom 文件,则您缺少定义工件的条目。尝试在标记后立即添加如下内容:

  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.example</groupId>
  <artifactId>stackoverflow-question</artifactId>
  <version>0.0.1-SNAPSHOT</version>

您应该在 /target 目录中找到 stackoverflow-question-0.0.1-SNAPSHOT.jar。你可能需要刷新目录才能看到它(你当然必须在 Eclipse 中)

【讨论】:

    【解决方案5】:

    您需要 maven jar 插件才能创建 jar

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
            <archive>
                <manifest>
                    <addClasspath>true</addClasspath>
                    <classpathPrefix>lib/</classpathPrefix>
                    <mainClass>add your main class</mainClass>
                </manifest>
            </archive>
        </configuration>
    </plugin>
    

    https://maven.apache.org/plugins/maven-jar-plugin/

    【讨论】:

    • 我认为您的评论仅适用于可执行 jar。 OP没有提到可执行文件。
    猜你喜欢
    • 2022-01-16
    • 1970-01-01
    • 2016-08-16
    • 2019-08-07
    • 1970-01-01
    • 2018-11-11
    • 2018-02-23
    • 2011-10-23
    • 1970-01-01
    相关资源
    最近更新 更多