2016-06-18 12 views
0

私は2つのサブプロジェクトに依存するメインプロジェクトを持っています。 3つのプロジェクトにはすべて、サーバーと呼ばれるカスタム構成があります。gradle subProject設定の依存関係が戦争に追加されない

私は次の戦闘タスクを持っているとき、メインのプロジェクトconfiguration.serverの依存関係だけが戦争に追加されています。

task fatWar(type: War) { 
    archiveName = "arms-fat.war" 
    classpath configurations.server 
    classpath configurations.compile 
} 

warにsubProjectサーバー構成の依存関係を追加するにはどうすればよいですか。

編集:

ここでは、コンテキスト用のビルドファイルの一部を示します。

rootProject

configurations { 
    server 
} 
dependencies { 
    server 'org.glassfish.jersey.media:jersey-media-multipart:2.22.2' 
    ... 
} 
task fatWar(type: War) { 
    archiveName = "arms-fat.war" 
    classpath configurations.server 
    classpath configurations.compile 
} 

build.gradleサブプロジェクトのbuild.gradle

configurations { 
    server 
} 
dependencies { 
    server 'mysql:mysql-connector-java:5.1.38' 
    ... 
} 

他の人が戦争

にバンドルされていない間、私は、fatWarタスクは、MySQL-のconnector.jarを実行すると、
+0

申し訳ありませんが、私はサブプロジェクトの詳細がありませんでした。私はこれを解決する方法を知らない。 Gradleディスカッションフォーラムに詳細な質問を投稿してください。 –

+0

この投稿のコメントを参照してください:https://discuss.gradle.org/t/how-to-jar-all-class-output-from-all-sub-projects-into-one-jar/7049/2 。 –

+0

リンクに感謝します。サブプロジェクトの問題を解決することができました。閉鎖 – rodney757

答えて

0

私は次のように(ダビデが提供されるリンクのおかげで)この問題を解決することができた:

subprojects.each { subproject -> evaluationDependsOn(subproject.path) } 

task fatWar(type: War) { 
    archiveName = "arms-fims-fat.war" 

    subprojects.each { subproject -> 
     project.configurations.server.dependencies.addAll(subproject.configurations.server.dependencies) 
    } 

    classpath configurations.server 
    classpath configurations.compile 
} 
0

実際には、 "classpath"はメソッドではなくプロパティであるため、2つの割り当てを "configurations.server + configurations.compile"という値の1つに置き換えてください。

+0

問題は、サブプロジェクトのconfiguration.server(別のbuild.gradle内)が追加されていないことです。 rootProjectサーバーとrootProjectとsubProjectsのコンパイル構成だけが追加されています。 – rodney757

+0

ええ、私は混乱しました。私は修正された答えがより可能性が高いと思います。 –

+0

subProject configurations.serverの依存関係がまだありません – rodney757

関連する問題