Java 如何覆盖maven war插件源目录
我有一个旧的web应用程序项目。然后我添加了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
pom.xml
,并添加了maven-war插件
。在旧项目中,源代码位于“Java资源/src”
目录中
在我的maven war插件中,我试图像这样覆盖默认的源代码目录,但不起作用
在编写过程中,我看到:
`
`
mypom.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>