将 SpringBoot 从 2.4.X 升级到 2.6.X 后无法 运行 我的 jar
Can't run my jar after upgrading SpringBoot from 2.4.X to 2.6.X
我最近将我的库从 gradle 5.X 升级到 7.3.1,并将 Spring-Boot 从 2.4.X 升级到 2.6.X但我面临一个问题。我正在使用 gradle build 来创建一个 jar 并在我的服务器上执行这个 jar,它在 Spring-Boot 2.4.X 上运行良好,但现在在 2.6.X 上运行良好我遇到了一些问题:
no main manifest attribute
所以我添加到我的 build.gradle
jar {
manifest {
attributes "Main-Class": "my.package.MainClass"
}
from {
configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) }
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
现在我遇到了错误
Could not find or load main class my.package.MainClass
如果我切换回 2。4.X 它工作正常。
我的罐子来自:
- spring-启动 2.4.X -> 90Mo
- spring-boot 2.6.X -> 500 Ko
所以我尝试用 shadowJar 创建一个 fat jar 并得到这个错误
ERROR org.springframework.boot.SpringApplication - Application run failed
Dec 21 10:04:09 vps-11602ed1 project[12706]: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.
如果有人得到关于如何使其与 Spring-boot 2 一起工作的答案。6.X。
提前致谢
我发现了问题。当我从 springboot 2.4.X 升级到 2.6.X 时,现在 gradle build 正在用我的 casual jar 生成一个新的“普通”jar。我将我的罐子重命名为相同的名称。所以我没有使用最大的罐子,而是使用了最小的。刚刚将其添加到我的 gradle.build:
jar {
enabled = false
}
所以现在,它没有创建“普通”jar,一切正常
我最近将我的库从 gradle 5.X 升级到 7.3.1,并将 Spring-Boot 从 2.4.X 升级到 2.6.X但我面临一个问题。我正在使用 gradle build 来创建一个 jar 并在我的服务器上执行这个 jar,它在 Spring-Boot 2.4.X 上运行良好,但现在在 2.6.X 上运行良好我遇到了一些问题:
no main manifest attribute
所以我添加到我的 build.gradle
jar {
manifest {
attributes "Main-Class": "my.package.MainClass"
}
from {
configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) }
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
现在我遇到了错误
Could not find or load main class my.package.MainClass
如果我切换回 2。4.X 它工作正常。 我的罐子来自:
- spring-启动 2.4.X -> 90Mo
- spring-boot 2.6.X -> 500 Ko
所以我尝试用 shadowJar 创建一个 fat jar 并得到这个错误
ERROR org.springframework.boot.SpringApplication - Application run failed Dec 21 10:04:09 vps-11602ed1 project[12706]: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.
如果有人得到关于如何使其与 Spring-boot 2 一起工作的答案。6.X。
提前致谢
我发现了问题。当我从 springboot 2.4.X 升级到 2.6.X 时,现在 gradle build 正在用我的 casual jar 生成一个新的“普通”jar。我将我的罐子重命名为相同的名称。所以我没有使用最大的罐子,而是使用了最小的。刚刚将其添加到我的 gradle.build:
jar {
enabled = false
}
所以现在,它没有创建“普通”jar,一切正常