4

我知道通常的 Maven 结构是这样的:

 pom.xml
 src
   - main
   - web
    - WEB-INF

但是,我有一个具有以下结构的项目

src
  - main
web
  - WEB-INF

以上两者中的后者目前不使用maven。通过使结构符合 Maven 标准,我已经开始在本地为这个项目使用 Maven。但是,我现在想通过将它从源代码控制 (svn) 中自动从 jenkins 构建这个项目。所以我只想添加一个 pom.xml ,它知道web不在里面的事实src

这可能与maven有关吗?

4

2 回答 2

6

您可以将其配置maven-war-plugin为使用另一个warSourceDirectory,但正如 Jeff Storey 在他的回答中解释的那样,确实不建议这样做。

你会这样做:

<project>
    ...
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <warSourceDirectory>web</warSourceDirectory>
                </configuration>
            </plugin>
        </plugins>
    </build>
    ...
</project>

几个问题之一是,例如,maven-jetty-plugin不会开箱即用。默认情况下,它会查找,src/main/webapp因此必须进行配置。

你可能不使用,maven-jetty-plugin但你明白了。

于 2012-11-15T08:07:03.330 回答
3

使用 maven 战争插件属性,您可以设置warSourceDirectory属性http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html(我不确定您到底遇到了什么问题,所以这可能会也可能不会解决您的具体问题)。

但是,maven 非常固执己见,我强烈建议使用预期的 maven 结构。其他插件可能会给你带来意想不到的问题,当你遵循它们的约定时,maven 的生活通常会容易得多。

于 2012-11-15T01:29:32.810 回答