2016-10-25 6 views
0

親プロジェクトのいくつかのファイルにサブモジュールにアクセスしようとしていますが、アクセスできません。親プロジェクトのクラスがモジュールでアクセスできない理由

メインbuild.gradleは私がやるだろうか、親であるAPI_ModuleEnvConfigクラスにアクセスしたい

dependencies { 

    compile("org.springframework.boot:spring-boot-devtools") 

    compile project(":API_Module") 
} 

のように見えます

project 
    |---build.gradle 
    src 
    |---main 
     |--java 
      |---EnvConfig.java 
    API_MODULE 
    src 
    |----main 
      |---java 

のように私のプロジェクトの構造が見えますこの。私はすでに親のbuild.gradleに API_Moduleをコンパイルしています。私はそれが良い習慣ではないと思う。私に良い練習を勧めてください。

おかげ

+0

:あなたが達成しようとしているもの(ものGradleに適用しても安全でなければなりません)、典型的なMavenのマルチモジュールプロジェクトのために

は、のようになります。そのクラスのJavaソースファイルまたはコンパイルされたバイトコードにアクセスする必要がありますか?なぜあなたはそれが必要なのですか? – Crazyjavahacking

+0

usecaseは私がenv configクラスを持っています(そこにいくつかのメソッドがあります)親プロジェクトでは、私は設定関連の環境を行っています。だから私はすべてのモジュールでアクセス可能でなければならない。 –

+0

それは他のすべてのモジュールで使用されている別のモジュールにあるはずです –

答えて

1

Gradleでの経験はあまりありませんが、これは明らかにモジュールのパッケージングと依存性の設計に関連しています。より多くのユースケースを説明して

project 
    + project-core/  <- things share across modules 
    | + src/main/java/ 
    | + EnvConfig 
    | 
    + project-api/  <- Your original API module 
    | + dependency: project-core 
    | 
    + project-mod2/  <- Some other module that need to use EnvConfig 
    | + dependency: project-core 
    | 
    + project-main/  <- Your original top-level project, 
    |     which build on top of project-api & project-mod2 
    + dependency: project-core, project-api, project-mod2 
+0

ありがとう、私はそれが動作するはずだと思います。 –

0

これは、円形の依存関係を作成しますparentAPI_MODULEから依存関係を追加するように動作しないでしょう。

メインbuild.gradleは、コンパイル依存性がAPI_MODULEである必要がありますか?

関連する問題