非標準のディレクトリレイアウトを使用してMavenを使用して
質問
私はすでに場所にディレクトリ構造を持っている既存のプロジェクトにMavenを適用しようとしています。私は、以前の質問から見つけることができるすべては以下の通りである。
しかし、私の要件は、より詳細です。ディレクトリ構造は以下を参照してください。
<root dir>
|
+--src-java
|
+--src-properties
|
+--WEB-INF
私たちは、
のようなものを持っている可能性が知っています<build>
<sourceDirectory>src-java</sourceDirectory>
...
</build>
しかしsourceDirectory
は、Javaのソースコードのためにのみ、私は間違っていない場合ます。
このような構成の場合、どのように私はそれがpom.xml
に宣言していますか?ディレクトリを移動すると、今の私の最後のオプションです。
解決
私はあなたが以下のようなものを持っている必要がありますね。
WEB-INF
を見て、私はあなたが戦争を構築したいと仮定します。 のプラグイン Mavenの戦争はこれを行います。フォルダ構造は、非標準であるので、あなたはこれを少し設定する必要があります - 例えば、あなたはwebXml
プロパティを使用してweb.xmlファイルの場所を指定する必要があります。これらは、使用状況ページに記載されています。
<build>
<sourceDirectory>src-java</sourceDirectory>
...
<resources>
<resource>
<directory>src-properties</directory>
</resource>
</resources>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceDirectory>WEB-INF</warSourceDirectory>
...
</configuration>
</plugin>
</plugins>
</build>
他のヒント
あなたはで宣言されたデフォルトのディレクトリ構造を変更することができますスーパーPOMは、あなたのポンポンでそれらを上書きすることでを。
あなた例えば、例えばます。
<sourceDirectory>src-java</sourceDirectory>
<resources>
<resource>
<directory>src-properties</directory>
</resource>
</resources>
Mavenはjarファイルにすべてのリソースをコピーします。あなたがジャーにWEB-INFを含めたい場合には、指定されたリソースディレクトリに移動するのがベストでしょう。そうしないと、ターゲットディレクトリに(Mavenのプラグインで)あなた自身でそれをコピーする必要があります - 私は考えます。
。 <resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
ここを。
から所属していません StackOverflow