我想行家适用于已经有一个目录结构来代替现有的项目。我只能从以前的问题,找到如下。

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 通过在你的POM覆盖它们。

有关你的例子,e.g。

<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>

rel="nofollow">这里。

scroll top