题
我想行家适用于已经有一个目录结构来代替现有的项目。我只能从以前的问题,找到如下。
然而,我的要求更详细说明。请参阅下面的目录结构:
<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>
不隶属于 StackOverflow