私はいくつかのJavaプロジェクトのプロトタイプを開発しており、これまで、ルートpomがさらに6つのMavenモジュールの親であるマルチモジュールMavenプロジェクトを使用していました。当初、私はSwingに基づく従来のGUIを使用してスタンドアロンソリューションを作成することを計画していました。
今、私はWebアプリを作成して、Grailsを試してみたいと思いました。私はたくさんグーグルでしばらく調べましたが、Mavenプロジェクトを整理する最も簡単な方法がわかりません。今、私は空のGrailsMavenプロジェクトを作成する方法を知っています。しかし、他のMavenモジュールをどのように紹介すればよいですか?私が現在思いついたのは:
- 新しいGrailsMavenモジュールを作成し、他のモジュールのすべてのソースをそのsrc / javaディレクトリに配置し、他のモジュールのpomファイルからGrailsのpomにすべての依存関係とプラグインをコピーします。
- 空のGrailsプラグイン(既存のJavaモジュールごとに1つ)を作成し、JavaMavenモジュールのコードと依存関係をGrailsプラグインのpomファイルに移行します。
- 独自のローカルNexusリポジトリをセットアップします。Javaモジュールのアーティファクトをその中に入れて、Grailsプロジェクトで再利用します。このようにして、Grails開発を純粋なJavaで行われる他のビジネスロジック開発から分離します。
明らかな理由で私が好きではないこれらの3つの解決策すべて:
- モジュール性を失い、現在のJavaプロジェクトの個別のモジュールを再利用する可能性を失います。
- まず、リファクタリングが多すぎます。第二に、結果として、再利用可能なMavenモジュールもGrailsプラグインもありません(1つのように見えるだけです)。
- 私はまだプロジェクトの初期のプロトタイピング段階にあり、Grailsモジュールの開発と並行してJavaモジュールを頻繁に変更する必要があります。明らかに、ワンライナーの変更後のJavaモジュールがNexusに取り込まれるまで待って、結果全体をGrailsで確認するのはあまり便利ではありません。
では、どのオプションを選択する必要がありますか?他の可能性は何ですか?質問に対する答えはとても簡単で、その後はとても恥ずかしい思いをします。
ここで関連する可能性のあるもう1つのことは、次のとおりです。現在、Jenkinsを使用して、cucumber-jvm受け入れテストとともにJavaモジュールの単体テストを実行しており、引き続き実行したいと考えています。IDEとしてIntelliJIdea12を使用しています。