【发布时间】:2016-12-30 20:25:18
【问题描述】:
我使用 IntelliJ-Idea 和 Gradle 作为构建引擎创建了一个 Spring Boot 微服务。我没有对初始 Spring Boot 配置进行任何更改。我也没有对提供的 build.gradle 文件进行任何修改。我通过 IntelliJ-Idea 使用 starter.spring.io 构建了应用程序,并具有以下依赖项:
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-devtools')
compile('org.springframework.boot:spring-boot-starter-web')
runtime('org.postgresql:postgresql')
testCompile('org.springframework.boot:spring-boot-starter-test')
该应用程序目前包含 12 个类和 2 个接口,是一个 Web 服务提供者。它在我的系统上运行良好,但是当我使用 Gradle 构建时,Manifest.MF 不包含 Main-Class 条目。
我创建了一个非常简单的 Hello World 应用,并尝试了多种 IDE 和构建工具(Gradle 和 Maven)的组合 并得到以下结果:
有趣的是,我能够在 Eclipse 中生成可执行 jar,它有一个单独的 Runnable JAR Export 进程。
我对 IntelliJ 和 Gradle 还很陌生。有没有人见过这种行为?有什么想法我在 IntelliJ 中可能做错了吗?如果有人需要,我已经将我的 Hello World 项目压缩了。
【问题讨论】:
-
您应该(实际上必须)使用 gradle(或 maven)来创建工件而不是 IDE 的导出功能。否则,特定的 Spring Boot 插件将无法运行,并且您的 jar 格式将不正确。
标签: intellij-idea gradle spring-boot