Dan*_*ton 4 intellij-idea gradle spring-boot
尝试部署一个我在 Spring Boot 上使用 IntelliJ 中的 gradle 中的 jar 函数构建的 jar。它使用“bootrun”从我的 IDE 本地运行良好,但没有将 jar 放在 Linux 服务器上。服务器上的完整错误是
应用程序启动失败 org.springframework.beans.factory.BeanDefinitionStoreException:无法处理配置类 [haughton.icecreamapi.config.AppConfig] 的导入候选者;嵌套异常是 java.lang.IllegalArgumentException: 在 META-INF/spring.factories 中找不到自动配置类。如果您使用自定义包装,请确保该文件正确。
我的构建.gradle
group 'IceCreamApiCA1'
version '1.0-SNAPSHOT'
buildscript {
ext {
springBootVersion = '1.5.9.RELEASE'
}
repositories{
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-
plugin:${springBootVersion}") }
}
// Apply the Spring Boot plugin
//apply plugin: 'spring-boot'
apply plugin: 'org.springframework.boot'
// Apply the Java plugin (expects src/main/java to be source folder)
apply plugin: 'java'
// Specify the location where our dependencies will be found
repositories {
mavenCentral()
maven {
url "http://repo.spring.io/milestone/"
}
}
jar{
baseName='IceCreamRestApi'
version='1.0.0'
manifest{
attributes 'Main-Class': 'haughton.icecreamapi.Application'
}
from{
configurations.compile.collect{ it.isDirectory() ? it : zipTree(it)}
}
}
// Specify dependencies
dependencies {
compile 'org.hashids:hashids:1.0.1'
// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa
compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '1.5.2.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-thymeleaf'
compile 'org.springframework:spring-orm:4.3.7.RELEASE'
// https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-aws-jdbc
// https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-aws-context
compile 'org.apache.tomcat:tomcat-dbcp:8.0.30'
//compile 'org.thymeleaf.extras:thymeleaf-extras-springsecurity:3.0.2.RELEASE'
// https://mvnrepository.com/artifact/com.google.code.gson/gson
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
// https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core
compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.8'
// https://mvnrepository.com/artifact/com.h2database/h2
compile group: 'com.h2database', name: 'h2', version: '1.4.196'
runtime 'javax.transaction:jta:1.1'
runtime 'org.aspectj:aspectjweaver:1.8.7'
// https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core
compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.8'
testCompile 'org.springframework.boot:spring-boot-starter-test'
}
Run Code Online (Sandbox Code Playgroud)
我认为你应该让 spring-boot 插件创建可执行 jar (不要自己编写)。public static void main(String[])默认情况下,此插件将在 task\xe2\x80\x99s 类路径上的目录中搜索方法。如果您想指定自己使用 bootJar 任务。
bootJar {\n mainClassName = \'com.example.ExampleApplication\'\n}\nRun Code Online (Sandbox Code Playgroud)\n\nhttps://docs.spring.io/spring-boot/docs/2.0.0.RELEASE/gradle-plugin/reference/html/
\n| 归档时间: |
|
| 查看次数: |
9079 次 |
| 最近记录: |