Meh*_*ran 4 java jar intellij-idea maven spring-boot
我正在使用 IntelliJ IDEA 2016.2.5 并且我已经使用 Spring Initializr 来设置一个 Spring Boot 项目。一切正常,我可以在 IDE 中运行和测试我的项目。
现在,当我想构建 jar 文件时,我从命令提示符运行以下命令:
$ mvn package
Run Code Online (Sandbox Code Playgroud)
mypom.xml所在的位置并完美地创建了 jar 文件(需要注意的是,我稍后会告诉您)。问题是,我正在寻找一种在 IDE 中执行相同操作的方法。
到目前为止,我已经尝试在“项目结构”窗口(Alt+Ctrl+Shift+s)中创建一个新的 jar 工件,并在我使用的 maven 依赖项中包含项目的输出Extract into Output Root。通过这种方式,可以构建和运行工件,但会发出大量错误消息,并且某些功能无法正常工作。
有谁知道如何从 IntelliJ IDEA 中为 Spring Boot 项目构建 jar 文件?
我需要在 IDE 中构建我的 jar 文件的原因是我的项目由几个 maven 项目组成,我已经将它们全部作为模块导入到一个项目中。当我在 IDE 中运行主模块时,IntelliJ IDEA 足够聪明,可以将模块视为主模块的依赖项。但是当我使用命令提示符时mvn,这不会发生(这是完全可以理解的,因为 maven 只知道主项目而不是其他项目)。要是我能在 IDE 中构建就好了。
为了更好地阐明我的情况,我有一个“主”项目和一个“库”,当然库是主的依赖项。由于我没有 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>
Run Code Online (Sandbox Code Playgroud)
据我所知,这是非常不鼓励的。在这种情况下,如果我将库命名为普通依赖项:
<dependency>
<groupId>org.example</groupId>
<artifactId>library</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
由于相邻模块(库)输出完全相同的工件,因此 IntelliJ IDEA 能够将依赖项与该模块匹配并编译代码。但是在 的情况下mvn,由于不涉及模块,因此无法完成并且不满足依赖关系。换句话说,我只能配置我的环境以使用mvnIntelliJ IDEA 或 IntelliJ IDEA,但不能同时配置!
小智 5
转到项目根文件夹,例如 springbootdemo 并运行以下命令:
mvnw clean package (这将创建目标文件夹并在其中生成 jar)mvnw spring-boot:run(这将运行 spring boot 应用程序)。在我的情况下,应用程序名称是springbootdemo,它的位置是C:\Users\springbootdemo,我在这个位置运行了两个命令。在 IDEA 中,您可以进入工具窗口“Maven Project”,然后双击“Package”。
| 归档时间: |
|
| 查看次数: |
13585 次 |
| 最近记录: |