我正在从事一个Gradle项目,该项目使用多个源集来构建不同的战争。
从命令行一切正常。格拉德正确地构建了战争。但是在IntelliJ中它说对于每个*。src/k下的java文件无法解析来自src/main的依赖关系。
我试图通过使用idea gradle插件将目录添加为SourceDir来修复它,但不幸的是,这没有起作用。
plugins {
id 'org.gretty' version '2.2.0'
id 'war'
id 'idea'
}
configurations {
kCompile.extendsFrom compile
kRuntime.extendsFrom runtime
}
sourceSets {
main {}
k {
java {
compileClasspath += main.output
runtimeClasspath += main.output
srcDirs = ['src/main/java', 'src/k/java/']
}
resources {
compileClasspath += main.output
runtimeClasspath += main.output
srcDirs = ['src/main/resources', 'src/k/resources']
}
output.resourcesDir = 'build/resources/main'
output.classesDir = 'build/classes/java/main'
}
}
idea {
module {
sourceDirs += file('src/main/java')
sourceDirs += file('src/k/java')
downloadJavadoc = true
downloadSources = false
}
}
repositories {
mavenCentral()
jcenter()
}
gretty {
servletContainer = 'tomcat85'
}
dependencies {
...
}
task kWar(type: War) {
appendix = "k"
from sourceSets.k.output
}
farm {
webapp "build/libs/App-k.war", contextPath: '/k'
}
project.afterEvaluate {
farmRunWar.dependsOn kWar
farmRunWar.shouldRunAfter kWar
}
我找到了一个修复方法,我必须通过文件将main的依赖项手动添加到Intellij中的k
试试这个:
k {
java {
srcDirs = ['src/main/java', 'src/k/java']
}
resources {
srcDirs = ['src/main/resources', 'src/k/resources']
}
compileClasspath += main.output
runtimeClasspath += main.output
output.resourcesDir = 'build/resources/main'
output.classesDir = 'build/classes/java/main'
}
另一种变体
k {
java {
srcDirs 'src/main/java'
srcDirs 'src/k/java'
}
resources {
srcDirs 'src/main/resources'
srcDirs 'src/k/resources'
}
compileClasspath += main.output
runtimeClasspath += main.output
output.resourcesDir = 'build/resources/main'
output.classesDir = 'build/classes/java/main'
}
作为红色和警告“无法解决符号‘谷歌’”。知道怎么修好它吗? 我尝试了1)删除并在IntelliJ IDEA中重新创建项目,以及2)从手动创建的Gradle配置文件中重新导入项目,但没有效果。
这次我的头撞到墙上了。 正在尝试在工作中打开克隆的git SBT项目。它是一个结合了Java和Scala的Play项目,使用Scala 2.11。1,SBT 0.13。6,玩2.5。 我使用IntelliJ从克隆的回购中导入项目,使用JDK 1.8,检查所有下载和SBT复选框,然后运行SBT刷新或从SBT shell重新加载。 完成此操作后,所有SBT和Play代码都将在两个版本上生成。sbt和插
我有以下项目结构: 我试图遵循Gradle多项目构建的最佳实践,因此我在单个build.Gradle文件中描述了整个构建过程。 “rootProject”只是一个没有任何代码的根项目,它的唯一目的是为它的子项目“lib”和“test-project”提供一个单独的build.gradle。 “Test-Project”是使用“lib”作为编译依赖项springboot项目(微服务)。 我的通用Bu
问题是gradle找不到依赖项的jar,但gradle找错了地方。Gradle一直在错误的目录(谷歌和Android支持libary的目录)中搜索文件.... 在以下位置搜索:文件:/d://programme/androis-sdks/extras/android/m2repository/org/springframework/android/spring-android-rest-templ
正如您所看到的,所有其他selenium库都可以毫无问题地导入,但是支持库根本不想工作。我该怎么办?