我正在尝试使用Spring启动插件进行clean build
项目并收到以下消息:
任务执行失败':lecture05:findMainClass'。 无法从以下候选人中找到单个主要类[ru.atom.boot.mm.MatchMakerApp,ru.atom.boot.hw.HelloSpringBoot]
我无法找到此案例here的任何信息。我发现了一些像this这样的问题,但这是针对maven的。如何正确配置我的项目? 我试图添加
bootRepackage {
mainClass = 'ru.atom.boot.mm.MatchMakerApp'
}
到build.gradle
我的根项目:
plugins {
id 'org.springframework.boot' version '1.5.8.RELEASE'
id 'com.github.kt3k.coveralls' version '2.6.3'
}
bootRepackage {
mainClass = 'ru.atom.boot.mm.MatchMakerApp'
}
ext {
jdkVersion = 1.9
jettyVersion = "9.4.7.v20170914"
junitVersion = "4.12"
jacksonVersion = "2.9.1"
log4jVersion = "2.7"
jetbrainsAnnotationVersion = "15.0"
okhttpVersion = "3.6.0"
jerseyVersion = "2.26"
gsonjVersion = "2.7"
postgresVersion = "9.4-1200-jdbc41"
jetbrainsAnnotationVersion = "15.0"
hibernateVersion = "5.2.3.Final"
websocketVersion = "9.4.3.v20170317"
jolVersion = "0.8"
}
allprojects {
group = "technoatom"
version = "1.0-SNAPSHOT"
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'checkstyle'
apply plugin: 'jacoco'
repositories {
mavenCentral()
}
sourceCompatibility = jdkVersion
targetCompatibility = jdkVersion
}
subprojects {
checkstyle {
ignoreFailures = false
toolVersion = '7.5'
configFile = rootProject.file('config/checkstyle/checkstyle.xml')
}
tasks.withType(Checkstyle) {
reports {
xml.enabled false
html.destination
"$rootProject.buildDir/report/${project.name}.html"
html.stylesheet
resources.text.fromFile(rootProject.file('config/checkstyle/checkstyle-custom.xsl'))
}
}
}
ext.libraries = [
spring_boot : [
"org.springframework.boot:spring-boot-starter-web",
"org.springframework.boot:spring-boot-starter-actuator"
],
spring_boot_test : "org.springframework.boot:spring-boot-starter-test",
jetty_server : "org.eclipse.jetty:jetty-server:$jettyVersion",
jetty_servlet: "org.eclipse.jetty:jetty-servlet:$jettyVersion",
junit: "junit:junit:$junitVersion",
log4j: [
"org.apache.logging.log4j:log4j-api:$log4jVersion",
"org.apache.logging.log4j:log4j-core:$log4jVersion"
],
jetbrainsAnnotations: "org.jetbrains:annotations:$jetbrainsAnnotationVersion",
okhttp: "com.squareup.okhttp3:okhttp:$okhttpVersion",
jersey_server: "org.glassfish.boot.core:boot-server:$jerseyVersion",
jersey_hk2: "org.glassfish.boot.inject:boot-hk2:$jerseyVersion",
jersey_containers: "org.glassfish.boot.containers:boot-container-servlet:$jerseyVersion",
jersey_test:
"org.glassfish.boot.test-framework.providers:boot-test-framework-provider-grizzly2:$jerseyVersion",
gson: "com.google.code.gson:gson:$gsonjVersion",
postgres: "org.postgresql:postgresql:$postgresVersion",
hibernate: "org.hibernate:hibernate-core:$hibernateVersion",
websocketclient: "org.eclipse.jetty.websocket:websocket-client:$websocketVersion",
websocketserver: "org.eclipse.jetty.websocket:websocket-server:$websocketVersion",
websocketapi: "org.eclipse.jetty.websocket:websocket-api:$websocketVersion",
jackson: "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion",
jol: "org.openjdk.jol:jol-core:$jolVersion",
jol_samples: "org.openjdk.jol:jol-samples:$jolVersion"
]
jacocoTestReport {
additionalSourceDirs =
files(subprojects.sourceSets.main.allSource.srcDirs)
sourceDirectories =
files(subprojects.sourceSets.main.allSource.srcDirs)
classDirectories = files(subprojects.sourceSets.main.output)
executionData = files(subprojects.jacocoTestReport.executionData)
onlyIf = {
true
}
reports {
xml.enabled = true
html.enabled = true
}
doFirst {
executionData = files(executionData.findAll {
it.exists()
})
}
}
coveralls {
sourceDirs =
files(subprojects.sourceSets.main.allSource.srcDirs).files.absolutePath
}
子项目,我正在尝试构建,它有两个主要类:
dependencies {
compile rootProject.libraries.spring_boot
compile rootProject.libraries.log4j
testCompile rootProject.libraries.junit
testCompile rootProject.libraries.spring_boot_test
}
sourceSets {
main {
java {
srcDirs = ['src/main/java']
}
}
test {
java {
srcDirs = ['src/test/java']
}
}
}