ho configurazione graddle con due sottoprogetti e quando voglio fare accumulo il progetto viene lanciato il seguente errore:errore Gradle con la mancanza di proprietà mainClassName in Gradle costruire
Executing external task 'build'...
:core:compileJava
:core:processResources UP-TO-DATE
:core:classes
:core:jar
:core:startScripts FAILED
FAILURE: Build failed with an exception.
* What went wrong:
A problem was found with the configuration of task ':core:startScripts'.
> No value has been specified for property 'mainClassName'.
La mia configurazione: ROOT - costruzione .gradle:
subprojects {
apply plugin: 'java'
apply plugin: 'application'
group = 'pl.morecraft.dev.morepianer'
repositories {
mavenLocal()
mavenCentral()
}
run {
main = project.getProperty('mainClassName')
}
jar {
manifest {
attributes 'Implementation-Title': project.getProperty('name'),
'Implementation-Version': project.getProperty('version'),
'Main-Class': project.getProperty('mainClassName')
}
}
}
task copyJars(type: Copy, dependsOn: subprojects.jar) {
from(subprojects.jar)
into project.file('/jars')
}
ROOT - setting.gradle:
include 'app'
include 'core'
APP DEL PROGETTO - build.gradle:
EMPTY
NUCLEO PROGETTO - build.gradle:
dependencies {
compile 'com.google.dagger:dagger:2.4'
compile 'com.google.dagger:dagger-compiler:2.4'
}
ed entrambi SOTTOPROGETTI (simile) - gradle.properties:
version = 0.1-SNAPSHOT
name = MorePianer Core Lib
mainClassName = pl.morecraft.dev.morepianer.core.Core
Ho provato ad aggiungere la proprietà mainClassName in molti posti, ma non funziona. Questo è ancora più strano, che ha funzionato un paio di giorni fa così com'è. Sto usando gradle per la prima volta e sto pensando di tornare a Maven.
ho cercato di aggiungere: ' applicare plugin: 'applicazione' mainClassName = 'pl.morecraft.dev.morepianer.core.Core'' o' projectName.mainClassName' in proprietà, ma, purtroppo, non serviva a niente:/ –
Hai provato a inserire la riga mainClassName nel file di build anziché nel file delle proprietà? – zlandorf
Sì, ho provato –