我有一个示例java项目包
package com.example.testing;
用这样的文件树
app
|
src->com->example->testing->Main.java
Run Code Online (Sandbox Code Playgroud)
和gradle脚本:
apply plugin: 'java'
apply plugin: 'application'
sourceSets {
main {
java {
srcDirs 'src'
}
}
}
sourceSets.main.output.classesDir = file("classes")
mainClassName = 'com.example.testing.Main'
defaultTasks 'compileJava', 'run'
Run Code Online (Sandbox Code Playgroud)
现在我想为这个项目添加一些模块,我的文件夹将是这样的
app
|
src1->com->example->testing->Main.java
src2->com->another_example->another_testing->Library.java
Run Code Online (Sandbox Code Playgroud)
如何向gradle脚本添加新的源代码?
RaG*_*aGe 38
我同意@JB Nizet关于遵守标准惯例的观点.如果你仍然坚持成为无政府主义者:
你已经src
在你的sourceset,为什么不加声明src1
和src2
呢?您可以将它们添加到同一个源集,或者根据需要为每个模块定义源集.
sourceSets {
main {
java {
srcDirs 'src'
srcDirs 'src1'
srcDirs 'src2'
}
}
}
Run Code Online (Sandbox Code Playgroud)
kop*_*por 13
问题是关于“添加”;案文的问题是描述一个更具体的场景。如果只想添加一个现有目录,这是添加的方法:
sourceSets.main.java.srcDirs += ['src/gen/java']
Run Code Online (Sandbox Code Playgroud)
一个完整的例子build.gradle
如下:
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
implementation 'com.squareup:javapoet:1.12.1'
}
sourceSets.main.java.srcDirs += ['src/gen/java']
Run Code Online (Sandbox Code Playgroud)
JavaPoet sa 用于生成.java
源文件的Java API 。它仅用作build.gradle
文件的示例库。
gab*_*sky 12
Gradle 4.6的方法略有不同:
sourceSets {
main {
java {
srcDir 'src/main/java'
srcDir 'build/swagger-code-dummy/src/main/java'
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我必须使用"/ main/java"子目录指定目录,否则gradle/intellij没有设置正确的路径.
也许这也有助于别人:)
归档时间: |
|
查看次数: |
31084 次 |
最近记录: |