gla*_*tor 4 java eclipse gradle gradle-eclipse build.gradle
我有一个带有源文件夹的eclipse项目,如:
/src/main/java/module1
/src/main/java/module2
/src/main/java/module3
Run Code Online (Sandbox Code Playgroud)
在这些src文件夹中我有像这样的包:
com.example.module1.xxx
com.example.module2.yyy
com.example.module3.zzz
Run Code Online (Sandbox Code Playgroud)
我使用java和eclipse插件创建了一个gradle构建源代码,如:
apply plugin: 'java'
apply plugin: 'eclipse'
sourceSets {
main {
java {
srcDirs = ['src/main/java/module1']
srcDir 'src/main/resources'
srcDir 'src/main/java/module2'
srcDir 'src/main/java/module3'
}
}
}
jar{
manifest {
attributes 'Implementation-Title': 'Example Project',
'Implementation-Version': '1.0.0'
}
}
repositories {
mavenCentral()
}
dependencies{
compile group: 'com.zaxxer', name: 'HikariCP', version: '2.2.5'
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: log4j2Version
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: log4j2Version
compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: log4j2Version
compile group: 'org.apache.logging.log4j', name: 'log4j-jul', version: log4j2Version
compile group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: log4j2Version
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.9'
}
Run Code Online (Sandbox Code Playgroud)
问题是当我使用gradle eclipse
它生成eclipse项目时正确生成3个模块源文件夹,一个资源源文件夹,但它还生成了包含所有嵌套源文件夹的超级源文件夹src/main/java:
module1.com.exaple.module1.xxx
module2.com.exaple.module2.yyy
module3.com.exaple.module3.zzz
Run Code Online (Sandbox Code Playgroud)
因此我在eclipse中遇到错误"无法在'$ {projectdir}/src/main/java'中嵌套'$ {projectdir}/src/main/java/module1'.要启用嵌套,请从'$ {中排除'module1 /' PROJECTDIR}/SRC /主/ JAVA"'
如何修改我的任务/源集以获得正确的项目结构?
好吧终于想通了build.gradle很好......我做错了是我正在执行命令gradle eclipse
,它只是将条目附加到现有的.classpath文件中,生成一个新的副本,我必须执行gradle cleanEclipseClasspath eclipse
生成正确的. classpath文件.
归档时间: |
|
查看次数: |
7922 次 |
最近记录: |