-1

Web アプリケーションのビルド/リリース管理/依存関係ツールとして Maven を使用したいと考えています。

Web アプリケーション プロジェクトのディレクトリ構造は次のとおりです。

-WebContext
------|src
--------|com.company
------|WEB-INF
------|ページ

Maven によると、ディレクトリ構造は次のようになります。

-WebContext
------|src
--------|main
------------|java
------------|test
-- ----------|リソース
------------|webapp

コード(古いディレクトリ構造)はSCM(CVS)によって維持されるため、新しいmavenディレクトリ構造に変換すると、次の質問があります

  1. ディレクトリ構造を変更した場合、ファイルを CVS で再コミットする必要がありますか? はいの場合、プロジェクト サイズが巨大で、SCM に多くのタグが存在し、クライアント リリースが存在するため、すべてのファイルをコミットすることはできません。

  2. 既存の構造を乱すことなく Maven プロジェクトとして変換する最良の方法はありますか?

  3. 現在、リソースはルート ディレクトリにあります。src/main/resources に移動するのではなく、そのままにします。

これはすべての人に共通の問題だと思います。これに対する解決策があることを願っています。ビルド/リリース管理ツールとしてmavenを使用する方法を教えてください。

ありがとうございます

4

1 に答える 1

0

srcではなく でコードを検索するように Maven を構成することができますsrc/main/java。しかし、推奨される Maven プロジェクト レイアウトに従ってコードを に配置したい場合は、まず CVS から ( GitSVNsrc/main/javaのようなものに) 切り替えることをお勧めします。

CVS は、ファイルのパスによって識別される各ファイルのリビジョンを個別に追跡します。ファイルを移動または名前変更すると (パスが変更されます)、CVS はそのファイルを削除して新しいファイルを作成したと見なします。つまり、(新しい) ファイルのリビジョン履歴を見ても、行われた変更は表示されません。移動または名前変更の前。CVS に関する限り、古いパスと新しいパスはまったく別の無関係なファイルです。

一部の CVS ユーザーは、リビジョン履歴を保持する関連ファイルを移動または名前変更することでこの制限を回避し,vますが、これにより履歴が事実上変更されます。プロジェクトの以前のリビジョンをチェックアウトすると、ファイルは新しい場所にあるようになります。最初からそこにいました。古いリビジョンに基づくブランチがある場合、それらのブランチでもファイルの場所が変更されます。これにより、古いバージョンまたはブランチのビルドが失敗する可能性があります。これは、ビルド システムがそれらのバージョンにあると想定していた場所にファイルがないためです。ビルドの問題はさておき、プロジェクトの履歴の記録が不正確な場合、SCM リポジトリの有用性は限定的です。

Git や SVN などの新しい SCM システムは、移動/名前変更を適切に処理できるだけでなく、CVS よりも多くの他の改善を提供できます。これは、プロジェクトをあまり古臭くないシステムに移行する良い機会です。

于 2014-10-01T14:43:21.047 に答える