現在、2つのモジュールからなる既存のプロジェクトをGradleに移行して、CIの構築/テストを容易にし、プロジェクト構造を新しい従業員のためにIDEを理解しやすくなりました。隣のプロジェクトから.javaファイルを追加してGradleプロジェクトをコンパイルできません
./ProjectA
./build.gradle
./src
...
./Play2Project
./build.sbt
./src
./src/entities
...
ProjectA
は基本的JPA @Entity
ファイルの束である第二のプロジェクトから/src/entities
を使用する:例のために、プロジェクトは2トップレベルのモジュールを含みます。
2番目のモジュールはPlay2プロジェクトです.GradleとSBTの互換性の理由から、SBTに残しておきたいと思います。残念なことに、SBTはプロジェクトルートにないファイルのソースを許可していないため、Entities
を別のモジュールに抽出してProjectA
とPlay2Project
の間で共有することはできませんでした。代わりに、私は/src/entities
をfileTreeとして追加しました。
PROJECTA/build.gradle:
apply plugin: 'java'
sourceSets {
main {
java {
srcDir 'src'
}
resources {
srcDir 'conf'
}
}
test {
java {
srcDir 'test'
}
resources {
srcDir 'test/resources'
}
}
}
jar {...}
repositories {...}
dependencies {
compile fileTree(dir: "../Play2Project/src/entities", include: "**/*.java")
// Remote repo dependencies
...
}
すべての依存関係が(私は私の椅子の上にジャンプ製)のIntelliJで解決するように見えた/entities
フォルダを追加した後ここでProjectA
のbuild.gradle
ファイルです。
Error:(20, 14) java: package entities does not exist
P.S.:エラーがEntity
ファイルをクラスパスに追加されていないことを示しています。しかし、私はまだどのGradleのタスクを構築、実行することはできませんよ問題がある場合、Entity
ファイルのヘッダーにはpackage entities;
が含まれています。
私は自分の答えを入力していたのと同時に返信しました:) 私はかなり新しいStackOverflowを使用していますが、2つの答えのどちらを正しいものとしてマークする必要がありますか? –
もちろん、あなたが好きなことをすることはできますが、他の回答が間違っている場合や他の人が回答していない場合は、自分の回答のみを受け入れます。 –