2016-05-13 18 views
0

これは私のファイル階層です。 'Domain Module'にはコードがありません。基本的に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 

これは、このドメインモジュール/ 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あるドメインモジュール/ 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です、ドメインモジュール/ドメイン/ build.gradleのbuild.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' 

} 

を試みたが、私はlibs-ドメインモジュール/ビルド/ に-the生成されたjarファイル-jar javaの実行しようとするたびに私はそれがメインのファイルを見つけることができない私に告げるエラーが出ますビルドのグラデルが今では、メインクラスへの参照が全くないというエラーが表示されます。

私のプロジェクトの要点は、DBControllerがSQLサーバーに対してクエリを発行し、そのServer.javaがスプリングサーバーになることです。私はこれを行うためにgradleを使うことにしました。私は学ぶでしょうし、gradleについてたくさん学んだのですが、まだ不確実性が残っています。

答えて

0

私は何が間違っているかを考え出しました。

jar { 
    manifest { 
    attributes 'Main-Class': '-insert main class here-' 
    } 
} 

この属性を使用すると、そもそものsrc /メイン/ Javaのディレクトリにいると仮定し、ので、私のファイルパスが

src/main/java/robert/util/Class.java 

だった場合、私はちょうど言わざるを得ない

jar { 
    manifest { 
    attributes 'Main-Class': 'robert.util.Class' 
    } 
} 

そのような些細なエラーを解決するために多くの時間を費やしました。他の誰かのための私のヒントは、 "紹介するサイト"などを見落とさないことです。解決策は、すべてそこにあった。

関連する問題