這是我的文件層次結構,'域模塊'現在沒有代碼,基本上是DBController和Domain的包裝器。Gradle + Java,多項目build.gradle
Domain Module
.gradle
.idea
build
DBController
build
src
main
java
interfaces
IDBController.java
DBController.java
res
some SQL files
test
java
some test files
build.gradle
Domain
.gradle
build
gradle
src
main
java
Server.java
build.gradle
gradlew
gradlew.bat
settings.gradle
gradle
build.gradle
gradlew
gradlew.bat
settings.gradle
這是我在域模塊/的build.gradle的build.gradle
group 'Group'
version '1.0-SNAPSHOT'
apply plugin: 'java'
targetCompatibility = 1.8
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile project(':Domain')
compile project(':DBController')
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
}
這是在的build.gradle域模塊/ DBController /的build.gradle
group 'Group'
version '1.0-SNAPSHOT'
apply plugin: 'java'
compileJava {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'org.postgresql:postgresql:9.3-1103-jdbc3'
}
}
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
}
dependencies {
compile('com.googlecode.json-simple:json-simple:1.1.1')
compile files('libs/json-simple-1.1.1.jar')
compile('org.postgresql:postgresql:9.3-1103-jdbc3')
}
最後,在域模塊/域/ build.gradle中構建.gradle
group 'Group'
version '1.0-SNAPSHOT'
buildscript {
repositories {
mavenCentral()
jcenter()
}
}
apply plugin: 'java'
apply plugin: 'idea'
repositories {
mavenCentral()
jcenter()
}
sourceCompatibility = 8
targetCompatibility = 8
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
}
task wrapper(type: Wrapper) {
gradleVersion = '2.3'
}
dependencies {
compile project(':DBController')
}
我的主要方法是在Server.java中,它使用了DBController的一個實例。我如何在我的java清單中分配這個文件?我已經嘗試了簡單
jar {
manifest {
attributes 'Main-Class': 'Domain.src.main.java.Server'
}
但每當我試圖執行的罐子-The在域模塊/編譯/ libs- 我得到一個錯誤,告訴我它無法找到主文件生成的JAR的Java,而現在的構建階段,它給了我一個錯誤,說根本沒有提及主類。
我的項目的要點是DBController向SQL服務器發出查詢,Server.java將是一個彈簧服務器。我決定使用gradle來做到這一點,所以我會學習,雖然我已經學到了很多關於gradle的知識,但仍然有很多不確定性。