我正在按照this指南用Spring构建一个RESTful Web服务。我正在使用Grable构建应用程序,但我的构建失败了。
我在Windows 10计算机上使用了“build gradle”命令。
这是gradle代码:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:2.1.6.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
bootJar {
baseName = 'gs-rest-service'
version = '0.1.0'
}
repositories {
mavenCentral()
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
testCompile('org.springframework.boot:spring-boot-starter-test')
}
我收到以下错误:
执行任务“:bootJar”失败。
尚未配置主类名,因此无法解析它
9条答案
按热度按时间uajslkp61#
当构建包含springboot项目外模块的多模块项目时,模块的
build.gradle
必须包含:6pp0gazn2#
我在使用Kotlin和放错
main
方法时遇到了这个错误。错误:
修复(将
main
从Application
中移出):bxfogqkk3#
因此,您可以进行配置,请尝试:
xtupzzrd4#
使用**org.springframework. Boot **Gradle插件版本2.6.2。
我也有类似的问题。
执行任务“:bootJar”失败。未能计算任务“:bootJar”属性“mainClass”的值。尚未配置主类名,因此无法解析该名称
现在,根据 Boot 插件的版本,你必须按照下面的方式定义主类值。
SpringFramework 2.3.12及更早版本
SpringFramework 2.4.0及更新版本
提及属性更改的发行说明
vxf3dgd45#
在我的情况下,(使用Kotlin for writing springboot demo)这是由src文件夹引起的,主类文件没有位于src/main文件夹下。此外,我已经清理了所有内容并重新启动IDE。正如@Zaziro提到的,我也尝试过,但没有任何运气。但有文章提到配置mainClassName,
在与Github中的src代码进行比较后发现,它与任何软件包的任何版本无关。
祝你好运:-)
68de4m5k6#
正如@Zaziro提到的,定义配置是可能的。
此站点详细描述了不同类型的配置:https://www.baeldung.com/spring-boot-main-class#gradle
如果您正在使用Kotlin:
注意你的类名会改变,你需要在mainClassName后面加上“Kt”。
示例:“com.示例.应用”-〉“com.示例.应用Kt”
2g32fytz7#
如果我们使用Sping Boot Gradle插件和Kotlin,您可以使用以下代码片段:
dldeef678#
我试图按照https://spring.io/guides/gs/spring-boot/中的说明操作,该应用程序中有一个CommandLineRunner。CommandLineRunner中的代码只有在我将bean * 和 * main方法 Package 在类中时才能运行。我可以让测试运行,但不能通过命令行。我可以使用一个伴随对象来解决这个问题:
2ic8powd9#
根据https://spring.io/guides/gs/multi-module/,库的
build.gradle
(使用Spring)应该使用Sping Boot 插件而不应用它(apply false):这样就不需要:
此外,对于使用库的Sping Boot 应用程序,我们需要使用库的组指定
scanBasePackages
: