0

war ファイルをインポートして、Eclipse Web プロジェクトを作成しました。もともと、war ファイルにはソース コードがありませんでした。異なるプロファイルに従って 1 つのプロパティ ファイルの内容を動的に変更することにより、このプロジェクトから新しい war ファイルを構築したいと考えています。

ただし、元の war ファイルにソース コードがないため、プロジェクトにソース コードがないため、このプロジェクトを maven プロジェクトに変換し、pom.xml でパッケージングを war に設定すると、maven は次のエラーを表示します。

[エラー] プロジェクト birt で目標 org.apache.maven.plugins:maven-war-plugin:2.1.1:war >(default-war) を実行できませんでした: WAR の組み立て中にエラーが発生しました: webxml 属性が必要です (または既存の更新モードで実行する場合は WEB-INF/web.xml)

このエラーは、プロジェクトにそのようなフォルダー (/src/main/webapp) がないことが原因であると想定しています。私のプロジェクトの構造は次のとおりです。

drwxrwxr-x 3 kewei kewei 4096 4 月 12 日 15:55 ビルド

-rw-rw-r-- 1 kewei kewei 375 4 月 12 日 16:10 pom.xml

drwxrwxr-x 3 kewei kewei 4096 4 月 12 日 15:54 src

drwxrwxr-x 5 kewei kewei 4096 12 4 月 16:12 ターゲット

drwxrwxr-x 10 kewei kewei 4096 4 月 12 日 15:55 WebContent

src フォルダーには何もなく、すべてが WebContent フォルダーにあります。

プロパティ ファイルを変更し、プロジェクトを war ファイル (maven なし) にエクスポートすることで、この仕事を行うことができました。しかし、よりスマートな方法はありますか?

おそらくmavenはこの種のビルドを行うように設計されていませんか? この場合、さまざまなプロファイルに従ってプロパティ ファイルの内容を動的に変更することで、さまざまな war を構築するにはどうすればよいでしょうか?

ありがとう!

4

2 に答える 2

1

khmarbaise は正しいですが、Maven を使用する場合は、Maven の規則を使用してコード ツリーを構築することを強くお勧めします。

Maven は、必要なことをすべて正確に実行する限り、素晴らしいツールです。逸脱した場合、目標を達成するための回避策があります (または回避策がある可能性があります) が、通常は苦痛を伴います。

于 2012-04-13T01:38:09.393 に答える