非標準のディレクトリレイアウトを使用してMavenを使用して

StackOverflow https://stackoverflow.com/questions/4603730

  •  25-09-2019
  •  | 
  •  

質問

私はすでに場所にディレクトリ構造を持っている既存のプロジェクトに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>

ここを。

から
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top