当前位置: 首页 > 知识库问答 >
问题:

如何在IntelliJ IDEA中为Spring Boot项目构建jar工件

严宸
2023-03-14

我正在使用IntelliJ IDEA 2016.2.5,并且使用Spring Initializr来设置Spring Boot项目。一切正常,我可以在IDE中运行和测试我的项目。

$ mvn package

我的pom.xml所在的位置,并且jar文件是完美创建的(有一个警告,我稍后会告诉您)。问题是,我正在寻找一种从IDE内部进行同样操作的方法。

到目前为止,我已经尝试在Project Structure窗口(Alt+Ctrl+Shift+S)中创建一个新的jar工件,并包含项目的输出,而对于maven依赖项,我使用extract into output root。这样,工件就可以构建和运行,但是会发出大量错误消息,并且有些功能无法工作。

有人知道如何从IntelliJ IDEA中为Spring Boot项目构建一个jar文件吗?

我需要在IDE中构建jar文件的原因是,我的项目由几个maven项目组成,并且我已经将它们作为模块导入到一个项目中。当我在IDE中运行主模块时,IntelliJ IDEA足够聪明,可以将该模块视为主模块的依赖项。但是当我使用命令提示符mvn时,就不会发生这种情况(这是完全可以理解的,因为maven只知道主项目而不知道其他项目)。如果我能从IDE中构建..

为了更好地澄清我的情况,我有一个“main”项目和一个“Library”,当然Library是main的依赖项。由于我没有maven存储库(在这一点上,我不想找一个存储库),所以我知道的使maven能够编译我的代码的唯一方法是在Main的pom.xml中命名库,如下所示:

<dependency>
    <groupId>org.example</groupId>
    <artifactId>library</artifactId>
    <version>1.0-SNAPSHOT</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/library-1.0-SNAPSHOT.jar</systemPath>
</dependency>

据我所知,这是非常令人气馁的。如果我将库命名为普通依赖项:

<dependency>
    <groupId>org.example</groupId>
    <artifactId>library</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

由于相邻模块(库)输出完全相同的工件,IntelliJ IDEA能够匹配与该模块的依赖关系并编译代码。但是在mvn的情况下,由于没有涉及到模块,所以不能做到这一点,并且不满足依赖关系。换句话说,我只能将我的环境配置为使用mvn或IntelliJ IDEA工作,而不能同时使用两者!

共有1个答案

姬高澹
2023-03-14

转到项目根文件夹(如springbootdemo)并运行以下命令:

  1. MVNW clean Package(这将创建目标文件夹并在其中生成jar)
  2. mvnw spring-boot:run(这将运行spring boot应用程序)。在我的例子中,应用程序的名称是springbootdemo,它的位置是C:\users\springbootdemo,我在这个位置运行了这两个命令。
 类似资料:
  • 我有三个*。属性文件。当我在studio中切换这些文件时,一切都按预期进行。但是当我构建一个jar文件时,我认为它找不到属性文件,它在端口8080上可见。尽管在设置中我指定了8090(dev)或5000(prod)。如何解决这个问题。有人能告诉我如何正确地组装jar文件吗? application.properties application-dev.properties application-

  • 我创建了Android测试项目,并想在上面使用JMOCK。我在我的项目类路径中包括以下jar null 在编译之前,我一直收到以下错误消息: [2012-07-0617:14:40-mockTest]Dx...在字节码偏移量0000001B locals[0000]:lorg/hamcrest/generator/qdox/parser/impl/jflexlexer;局部变量[0001]:I局部

  • 每个人 我不知道是否已经有人问过这个问题,但我到处找,但找不到。我正在使用GitHub进行Intellij IDEA项目。我在工作中使用我的台式计算机来开发。完成后,我在Github上做了一个提交,它直接在我的帐户上。但是,有时我想在家里继续使用笔记本电脑,使用同一个项目并修改和提交它。由于不太了解Github与Intellij的集成,我知道我可以将现有项目下载到本地计算机上。但我的问题是,如何更

  • 我的项目中有以下设置... 用于SOA风格项目的多项目gradle构建,使用Rabbitmq和Spring集成连接在一起。 包含许多grails项目以及表示服务的普通java/groovy项目。 每个服务项目旁边都有一个项目(jar),其中包含可以使用Spring集成代理的服务的所有公共接口(和消息)。 这些项目使用gradle依赖关系相互关联,然后我使用gradle想法插件生成IntelliJ项

  • 是否有教程解释如何正确创建Java Gradle项目并构建。jar文件? 当我创建Java项目并添加Gradle:File时- 或 我的项目在这一点上是如此的混乱,也许我应该创建另一个项目,然后将Main.class和Gradle的依赖关系从旧项目复制/粘贴到新项目上。 如果这是我的最佳选择,那么这次我如何正确创建项目?

  • 问题内容: 我有一个Eclipse项目,我想将我的Java项目自动构建到JAR中。我知道我可以选择将项目导出到JAR。如果我单击右键;但我真正要寻找的是,就像Eclipse一样,它会自动构建项目的文件并将其放置在目标文件夹中;它还应自动构建一个JAR,并在某些或特定位置复制最新的JAR。 是否可以通过这种方式配置Eclipse以自动构建JAR? 只是为了让大家清楚,耐心地回答我的问题;我并不是将A