好的,我正在使用 gradle 编译 4 个源集,其中一个是主源集,另外 3 个是其他小段代码,这些代码是基于“服务器”中稍后可用的其他类通过反射加载的。
到目前为止,这有效
configurations {
extralibs
worldguard5
worldguard6
worldguard613
}
sourceSets {
main {
java {
srcDir 'src/main/java'
}
}
wg5 {
compileClasspath = configurations.worldguard5
java {
srcDir 'src/worldguard5/java'
}
}
wg6 {
compileClasspath = configurations.worldguard6
java {
srcDir 'src/worldguard6/java'
}
}
wg613 {
compileClasspath = configurations.worldguard613
java {
srcDir 'src/worldguard613/java'
}
}
dependencies {
compile 'mysql:mysql-connector-java:5.1.13'
compile 'org.xerial:sqlite-jdbc:3.7.2'
compile 'com.sk89q:worldguard:6.0.0-SNAPSHOT'
compile 'com.sk89q:worldedit:5.5.9-SNAPSHOT'
worldguard5 sourceSets.main.output
worldguard5 'com.sk89q:worldguard:5.9.1-SNAPSHOT'
worldguard5 'com.sk89q:worldedit:5.5.9-SNAPSHOT'
worldguard6 sourceSets.main.output
worldguard6 'com.sk89q:worldguard:6.0.0-SNAPSHOT'
worldguard6 'com.sk89q:worldedit:5.5.9-SNAPSHOT'
worldguard613 sourceSets.wg6.output
worldguard613 'com.sk89q.worldguard:worldguard-legacy:6.1.3-SNAPSHOT'
worldguard613 'com.sk89q:worldedit:5.5.9-SNAPSHOT'
}
现在除了
之外的所有内容都可以工作worldguard613 sourceSets.wg6.output
出现错误
> Could not get unknown property 'worldguard6' for SourceSet container.
有什么想法吗?
========================================== 更新它有效。接受的答案有效
dependencies {
compile fileTree(dir: 'lib', include: '*.jar')
compile 'org.json:json:20090211'
compile 'javax.validation:validation-api:1.1.0.Final'
compile 'mysql:mysql-connector-java:5.1.13'
compile 'org.xerial:sqlite-jdbc:3.7.2'
compile 'com.sk89q:worldguard:6.0.0-SNAPSHOT'
compile 'com.sk89q:worldedit:5.5.9-SNAPSHOT'
worldguard5 sourceSets.main.output
worldguard5 'com.sk89q:worldguard:5.9.1-SNAPSHOT'
worldguard5 'com.sk89q:worldedit:5.5.9-SNAPSHOT'
worldguard6 sourceSets.main.output
worldguard6 'com.sk89q:worldguard:6.0.0-SNAPSHOT'
worldguard6 'com.sk89q:worldedit:5.5.9-SNAPSHOT'
worldguard613 sourceSets.main.output
worldguard613 'com.sk89q.worldguard:worldguard-legacy:6.1.3-SNAPSHOT'
worldguard613 'com.sk89q:worldedit:5.5.9-SNAPSHOT'
testCompile 'junit:junit:4.12'
}
sourceSets {
main {
java {
srcDir 'src/main/java'
}
}
wg5 {
compileClasspath = configurations.worldguard5
java {
srcDir 'src/worldguard5/java'
}
}
wg6 {
compileClasspath = configurations.worldguard6
java {
srcDir 'src/worldguard6/java'
}
}
wg613 {
compileClasspath = configurations.worldguard613 + wg6.output
java {
srcDir 'src/worldguard613/java'
}
}
}
最佳答案
也许尝试类似的事情:
wg613 {
compileClasspath = configurations.worldguard613 + wg6.output
java {
srcDir 'src/worldguard613/java'
}
}
并删除
worldguard613 sourceSets.wg6.output
关于java - Gradle:为什么 sourceSets.main.output 可用,但其他输出不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48830223/