3

私はいくつかのJavaプロジェクトのプロトタイプを開発しており、これまで、ルートpomがさらに6つのMavenモジュールの親であるマルチモジュールMavenプロジェクトを使用していました。当初、私はSwingに基づく従来のGUIを使用してスタンドアロンソリューションを作成することを計画していました。

今、私はWebアプリを作成して、Grailsを試してみたいと思いました。私はたくさんグーグルでしばらく調べましたが、Mavenプロジェクトを整理する最も簡単な方法がわかりません。今、私は空のGrailsMavenプロジェクトを作成する方法を知っています。しかし、他のMavenモジュールをどのように紹介すればよいですか?私が現在思いついたのは:

  1. 新しいGrailsMavenモジュールを作成し、他のモジュールのすべてのソースをそのsrc / javaディレクトリに配置し、他のモジュールのpomファイルからGrailsのpomにすべての依存関係とプラグインをコピーします。
  2. 空のGrailsプラグイン(既存のJavaモジュールごとに1つ)を作成し、JavaMavenモジュールのコードと依存関係をGrailsプラグインのpomファイルに移行します。
  3. 独自のローカルNexusリポジトリをセットアップします。Javaモジュールのアーティファクトをその中に入れて、Grailsプロジェクトで再利用します。このようにして、Grails開発を純粋なJavaで行われる他のビジネスロジック開発から分離します。

明らかな理由で私が好きではないこれらの3つの解決策すべて:

  1. モジュール性を失い、現在のJavaプロジェクトの個別のモジュールを再利用する可能性を失います。
  2. まず、リファクタリングが多すぎます。第二に、結果として、再利用可能なMavenモジュールもGrailsプラグインもありません(1つのように見えるだけです)。
  3. 私はまだプロジェクトの初期のプロトタイピング段階にあり、Grailsモジュールの開発と並行してJavaモジュールを頻繁に変更する必要があります。明らかに、ワンライナーの変更後のJavaモジュールがNexusに取り込まれるまで待って、結果全体をGrailsで確認するのはあまり便利ではありません。

では、どのオプションを選択する必要がありますか?他の可能性は何ですか?質問に対する答えはとても簡単で、その後はとても恥ずかしい思いをします。

ここで関連する可能性のあるもう1つのことは、次のとおりです。現在、Jenkinsを使用して、cucumber-jvm受け入れテストとともにJavaモジュールの単体テストを実行しており、引き続き実行したいと考えています。IDEとしてIntelliJIdea12を使用しています。

4

1 に答える 1

0

答えは本当に簡単であることがわかりました。私がしなければならなかったのは以下に従うことだけでした:

ルートpomのあるフォルダーに移動します"grailscreate-app my-app-name"を実行します新しいgrailsプロジェクトの作成されたフォルダーに移動し、 "grailscreate-pommy.group.id"を実行しますgrailによって生成されたgrailspom.xmlにルートpomを追加します'親としての最後のコマンドgrailsのpomへの依存関係として他の6つのMavenモジュールを追加します。ルートpomで「mvncleaninstall」を実行した後、Grailsモジュール用に生成された.warファイルに他のモジュールから必要なすべてのjarファイルが含まれていることを確認しました。

さて、すべてがとても単純であることが判明しました。Mavenは本当に素晴らしいです。おそらく、これほど素晴らしいとは思っていなかったので、この長い質問が出てきました。

于 2014-03-20T09:46:36.373 に答える