1

私はMavenを初めて使用します。私が恩恵を受けている主な機能は、自動依存関係管理です。標準化されたディレクトリ構造も素晴らしいようですが、Eclipseにも標準のディレクトリ構造があります。ディレクトリ構造はEclipseから独立していますが、Mavenから依存しています。OK、なるほど、この時点では両方のプログラムが非常に柔軟に見えます。

Mavenがサーバーまたはクライアントシステム専用であるかどうかはよくわかりません。たとえば、プロジェクトのWebサイトを生成するための機能/プラグインがあります。これはサーバーシステムでは最も意味がありませんか?

Mavenをバージョン管理システム(VCS)、たとえばSVNと統合する方法は?リポジトリがあり、開発成果物のダウンロードセクションを備えた常に最新のWebサイトがあるシステムを考えています。

MavenをEclipseと統合する方法は?現在、WTP統合でm2eclipseを使用しています。大丈夫ですが、私が気に入らない動作がいくつかあります。例:

  • 新しいJavaプロジェクトを生成すると、JREバージョンは1.4に設定されます。手動で1.6/ワークスペースのデフォルトにリセットする必要があります。
  • ファセット構成が安定していません。一部の構成は、手動で特定の順序で実行する必要があります。

それについてもっと読んだら、たぶん私はそれらを修正することができます。そして、私はそのWTP拡張に多かれ少なかれ深刻な問題を抱えています。WTP拡張機能は公式にはサポートされておらず、本番品質がない可能性があると言うことが重要だと思います。

MavenをEclipseに統合する別のプラグインがあることを私は知っています。まだ試していません。いいですか?

また、Mavenはもっと多くの分野で役立つかもしれないと思います。たとえば、ディレクトリ構造を拡張して、要件、仕様、モデリングの成果物などを保持できます。それが標準化された場合にのみ機能すると思います。すべてのドキュメントのリビジョン管理もいいでしょう。

非常に多くのこと、それを統合して完全なソフトウェア開発プロセスをサポートすることができます。これらの機能をすべて取得するには、非現実的かもしれません。今のところ、EclipseとWTPの統合およびVCSの統合が私にとって最優先事項です。

助言がありますか?前もって感謝します。

4

2 に答える 2

1

あなたを正しい方向に押し進めるいくつかのランダムなポイント:

標準化されたディレクトリ構造も良さそうですが、Eclipseも標準的なディレクトリ構造です。

  • Eclipse には「標準」のディレクトリ構造がありません。たとえば、単体テストをコードの隣に置く人もいれば、やsrcのように別のディレクトリに置く人もいます。どちらでも好きなだけ設定できますが、Maven follow には、ほとんどすべての人が従うデフォルトがあります。teststest
  • ソースsrc/main/java
  • でのテストsrc/test/java
  • 実行に必要なリソースsrc/main/resources
    • 言語ファイル
    • 春の設定ファイル
  • テストの実行に必要なリソース
    • 黄金の結果
    • の構成ファイルsrc/main/config
  • Eclipse は IDE であり、Maven はビルド管理ツールです。
  • 適切な例: Eclipse に JAR/WAR をビルドするように依頼する場合、何をどこに含めるかを手動で指定する必要があります。ファイルを Maven のデフォルトに配置したため、次のようになります。
    • JAR/WAR には、 からコンパイルされた Java クラスが含まれていますが、src/main/javaからのものは含まれていません。src/test/java
    • からの構成ファイルsrc/main/configは JAR/WAR に入りません (構成ファイルの目的を無効にします)。
    • テストリソースsrc/test/resourcesは JAR/WAR に入らない
  • アセンブリをビルドすることにした場合 (Maven は、ドキュメント、ソース、バイナリなどを含む Web サイトに配置できるコードの配布を意味します)、JAR、構成ファイル、およびjavadocsZIP ファイルを作成できます。

Mavenがサーバーまたはクライアントシステムに特化しているかどうかはよくわかりません。たとえば、プロジェクトWebサイトを生成する機能/プラグインがあります。

ええ、Maven サイトのプラグインです。

これは、サーバー システムで最も理にかなっていませんか?

あまり。ドキュメントは、どのプロジェクト、特にクライアント システムにおいても重要です。

もっと詳しく読めば修正できるかもしれません。そして、私はその WTP の拡張に関して多かれ少なかれ深刻な問題を抱えています。WTP 拡張機能は公式にサポートされておらず、製品品質がない可能性があると言うことが重要だと思います。

m2eclipse プラグインを介した Maven と Eclipse の統合は完全ではないため、実際には WTP プロジェクトには使用しません。Maven Eclipse プラグインを使用してEclipse プロジェクト ファイルを生成し、そのプロジェクトを通常の Eclipse プロジェクトとしてインポートします。欠点は、プロジェクトに大幅な変更を加えた後、Eclipse プロジェクト ファイルを再実行する必要があることです。

すべてのドキュメントの改訂管理もいいでしょう。

それはMavenでも、ビルド管理ツールでもありません。それはあなたのSCM、 Subversion などです。

新しい Java プロジェクトを生成すると、JRE バージョンが 1.4 に設定されます。1.6 /ワークスペースのデフォルトに手動でリセットする必要があります。

Mavenで設定できます。

これらの機能をすべて取得するのは非現実的かもしれません。今のところ、Eclipse と WTP の統合および VCS の統合が最優先事項です。

m2eclipse プラグインとその仲間は、単純な Java Maven プロジェクトに最適です。個人的には、Maven eclipse プラグインを使用して、Web、EJB などのプロジェクト用の Eclipse プロジェクトを生成します。

前述のように、それにはマイナス面がありますが、あなたが言及した依存関係管理を含むプラス面は、それらを上回っています。

もちろん、構成が不十分な Maven プロジェクトは、依然として構成が不十分なプロジェクトです。それは魔法ではありません。:)

于 2010-08-31T00:22:39.817 に答える
1

ディレクトリ構造は Eclipse から独立しましたが、maven に依存するようになりました。わかりました。この時点では、どちらのプログラムも非常に柔軟に見えます。

はい、どちらも柔軟なので、どちらか一方を曲げることができます。しかし、レイアウトを選択する必要がある場合は、IDE にとらわれないレイアウト、つまり Maven レイアウトを選択し、労力を最小限に抑えるため、またそれらがよく知られているため (Maven に精通している人ならどこに何があるかを知っているため)、デフォルトに固執します。また、IntelliJ IDEA または NetBeans を使用した方が生産性が高いと感じて使用したい場合は、それを実行できます。言い換えれば、Eclipse レイアウトを使用する利点はないと思います。

Mavenがサーバーまたはクライアントシステムに特化しているかどうかはよくわかりません。たとえば、プロジェクトWebサイトを生成する機能/プラグインがあります。これは、サーバー システムで最も理にかなっていませんか?

Maven は、開発者マシンでのローカル ビルドや、継続的インテグレーション マシンでの中央ビルドに使用できます。また、Web サイトの生成やアーティファクトのデプロイなどは通常、中央サーバーで行われます。

SVN などのバージョン管理システム (VCS) と maven を統合するにはどうすればよいですか? 開発成果物のダウンロード セクションを備えたリポジトリと常に最新の Web サイトがあるシステムを考えます。

質問の最初の部分がよくわかりませんでした。Maven を SVN と正確に統合するにはどうすればよいですか (maven-release-plugin がありますが、それが質問の内容かどうかはわかりません)。2 番目の部分では、従来のアプローチは、継続的インテグレーション サーバーを使用して、VCS の変更後にビルドをトリガーし、作成されたアーティファクトを "企業リポジトリ" に (maven の意味で) デプロイすることです。多くの人がHudsonを CI サーバーとして使用しています。

新しい Java プロジェクトを生成すると、JRE バージョンが 1.4 に設定されます。1.6 /ワークスペースのデフォルトに手動でリセットする必要があります。

これは、maven プロジェクト自体が 1.6 レベルを使用するように構成されていないためです (Eclipse 構成はPOM から派生しているため、これは理にかなっています)。1.6 用に maven コンパイラ プラグインを設定する必要があります。これを行う1つの方法は次のとおりです(このトピックに関する以前の質問たくさんあります):

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>2.3.1</version>
  <configuration>
    <source>1.6</source>
    <target>1.6</target>
  </configuration>
</plugin>

次に、右クリックしてMaven > Update Project Configurationを選択し、Eclipse でプロジェクト構成を更新します。

ファセット構成が安定していません。一部の構成は、手動で特定の順序で行う必要があります。

それらは私のためのものであり、繰り返しますが、それらはあなたのPOMから派生web.xmlしています(たとえば、あなたのバージョンから)。

そして、私はその WTP の拡張に関して多かれ少なかれ深刻な問題を抱えています。WTP 拡張機能は公式にサポートされておらず、製品品質がない可能性があると言うことが重要だと思います。

は?これどこで読んだ?私にとってはwebappsでうまく機能します。

Maven を Eclipse に統合する別のプラグインがあることは知っています。まだ試していません。それは良いですか?

私はEclipse IAMの経験がありません。しかし、m2eclipse の問題は何ですか?

また、そのmavenはより多くの分野で役立つかもしれないと思います。たとえば、ディレクトリ構造を拡張して、要件、仕様、モデリング アーティファクトなどを保持できます。それが標準化されていれば、それはうまくいくと思います。すべてのドキュメントの改訂管理もいいでしょう。

プロジェクト ツリーには何でも自由に配置できます。多くの人がこれを行っており、サイトのドキュメントを参照しています。可能性は無限大です。

于 2010-08-31T00:43:25.350 に答える