2
如何在gradle 2.1中添加源設置到Java項目?如何在gradle 2.1中添加源設置到Java項目?
我讀過Java Plugin和SourceSetOutput和其他一些SO線程上的文檔,我仍然在努力弄清楚它是如何工作的。
我創建了一個簡單的構建腳本來測試我的理解。基於用戶指南第23.7.2,例如23.5,看來我可以做創建sourceSet:
sourceSets {
generated
}
在第23.4節。項目佈局似乎意味着我需要這樣做,因爲我的源代碼遵循了gradle約定。包含在源代碼集中的代碼位於src/generated/java/packagename
。並會自動添加到類路徑中。基於未找到的符號錯誤我從使用生成的源集中定義的代碼的代碼中獲取錯誤,我認爲這是不正確的,還有其他一些事情需要完成。我需要做什麼?
這裏是我的設置:
的build.gradle
apply plugin: 'java'
apply plugin: 'application'
mainClassName = "tester.Test"
sourceSets {
generated
}
文件結構
tester/
├── build
│ ├── classes
│ │ └── main
│ ├── dependency-cache
│ └── tmp
│ └── compileJava
├── build.gradle
└── src
├── generated
│ └── java
│ └── tester
│ └── Boom.java
└── main
└── java
└── tester
└── Test.java
Boom.java
package tester;
class Boom {
String sound;
public Boom (String s){
sound = s;
}
}
Test.java
package tester;
class Test {
public static void main(String[] args) {
Boom b = new Boom("KABOOM");
System.out.println("I've run");
System.out.println(b.sound);
}
}
謝謝!這適用於'gradle build',但是,當我嘗試'gradle run'時,它給了我一個'NoClassDefFoundError'。 – 2014-10-06 19:52:02
嗯..確實。我也用'run'測試了它,但不幸的是沒有'clean'。會看看。 – Opal 2014-10-06 19:53:24
編輯答案。現在應該工作。 – Opal 2014-10-06 20:07:53