9

すでにディレクトリ構造が設定されている既存のプロジェクトにMavenを適用しようとしています。前の質問から私が見つけることができるのは次のとおりです。

Mavenディレクトリ構造

ただし、私の要件はより詳細です。ディレクトリ構造については、以下を参照してください。

 <root dir>
    |
    +--src-java
    |
    +--src-properties
    |
    +--WEB-INF

私たちは私たちが次のようなものを持つことができることを知っています

<build>
<sourceDirectory>src-java</sourceDirectory>
...
</build>

しかしsourceDirectory、私が間違っていない限り、JAVAソースコード専用です。

上記の構造の場合、どのように宣言しpom.xmlますか?ディレクトリの移動は、今の私の最後のオプションです。

4

3 に答える 3

21

以下のようなものが必要だと思います。

見てWEB-INF、私はあなたが戦争を作りたいと思います。 Mavenwarプラグインがこれを行います。フォルダ構造は非標準であるため、これを少し構成する必要があります。たとえば、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>
于 2011-01-05T12:36:52.817 に答える
8

スーパーPOMで宣言されているデフォルトのディレクトリ構造は、pomで上書きすることで変更できます。

あなたの例では、例えば

<sourceDirectory>src-java</sourceDirectory>
<resources>
  <resource>
    <directory>src-properties</directory>
  </resource>
</resources>

Mavenはすべてのリソースをjarファイルにコピーします。WEB-INFをjarに含める場合は、指定されたリソースディレクトリに移動するのが最適です。それ以外の場合は、(mavenプラグインを使用して)独自にターゲットディレクトリにコピーする必要があります。

于 2011-01-05T12:26:54.283 に答える
1
 <resources>
  <resource>
    <directory>${project.basedir}/src/main/resources</directory>
  </resource>

ここから。

于 2011-01-05T12:18:47.917 に答える