Java 如何覆盖maven war插件源目录

Java 如何覆盖maven war插件源目录,java,web-applications,maven-2,Java,Web Applications,Maven 2,我有一个旧的web应用程序项目。然后我添加了pom.xml,并添加了maven-war插件。在旧项目中,源代码位于“Java资源/src”目录中 在我的maven war插件中,我试图像这样覆盖默认的源代码目录,但不起作用 在编写过程中,我看到: ` ` mypom.xml: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId&g

我有一个旧的web应用程序项目。然后我添加了
pom.xml
,并添加了
maven-war插件
。在旧项目中,源代码位于
“Java资源/src”
目录中

在我的maven war插件中,我试图像这样覆盖默认的源代码目录,但不起作用

在编写过程中,我看到: `

`

my
pom.xml

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.4</version>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>exploded</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <webXml>WebContent\WEB-INF\web.xml</webXml>    
                <webappDirectory>WebContent</webappDirectory>
                <source>${project.basedir}\src</source>         
                <target>${maven.compiler.target}</target>
                <encoding>utf-8</encoding>
            </configuration>
        </plugin>

org.apache.maven.plugins
maven战争插件
2.4
编译
爆炸了的
WebContent\WEB-INF\WEB.xml
网络内容
${project.basedir}\src
${maven.compiler.target}
utf-8

Maven war插件使用项目源文件夹覆盖必须放入pom的位置,如下所示:

<build>

    <sourceDirectory>/Java Resources/src</sourceDirectory>
    <plugins>
        ...
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>${version.build-helper-maven-plugin}</version>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>add-source</goal>
                    </goals>
                    <configuration>
                        <sources>
                            <source>social/src/main/java</source>
                        </sources>
                    </configuration>
                </execution>
            </executions>
        ...
    </plugins>
<build>

/Java资源/src
...
org.codehaus.mojo
构建助手maven插件
${version.build helper maven plugin}
生成源
添加源
社交/src/main/java
...

如果您计划迁移到Maven,我建议您遵循以下步骤。因此,您应该将源文件移动到
src/main/java
,将静态资源(如.properties文件)移动到
src/main/resources
,将webapp资源(如CSS和JavaScript文件)移动到
src/main/webapp

,您可以在
maven war plugin
配置中指定
warSourceDirectory

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

...
maven战争插件
2.3
旧/项目/来源
...

当我试图发动战争时,它对我不起作用:爆炸。插件尝试在默认源中获取源directory@herau您重写了
sourceDirectory
?,它是一个maven属性,而不是
maven-war-plugin
选项,该插件仅在您需要更多目录时才有用。
<project>
    ...
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <warSourceDirectory>old/project/source</warSourceDirectory>
                </configuration>
            </plugin>
        </plugins>
    </build>
    ...
</project>