gpt4 book ai didi

java - 使用 Eclipse Kepler 的包目标使用 Maven 构建创建的重复 WEB-INF 文件夹

转载 作者:行者123 更新时间:2023-11-30 04:06:34 25 4
gpt4 key购买 nike

我使用 JSF、Spring 和 JSF 方面创建了一个 Maven 应用程序。目标清理(删除目标目录)和编译工作正常。但是当我使用 package 选项运行 Maven 时,我看到在生成的 xxx-SNAPSHOT.war 文件中,webapp 和 WEB-INF 目录被递归复制。

Maven版本是3.1.0。

请参阅下面的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.organization.elr</groupId>
<artifactId>employeerepository</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>Employee Location Repository</name>
<properties>
<version.spring>3.1.2.RELEASE</version.spring>
<version.aopalliance>1.0</version.aopalliance>
<version.standard.taglibs>1.1.2</version.standard.taglibs>
<version.commons.logging>1.1.1</version.commons.logging>
</properties>
<build>
<sourceDirectory>${basedir}/src/main/java</sourceDirectory>
<outputDirectory>${basedir}/src/main/WEB-INF/classes</outputDirectory>
<testSourceDirectory>${basedir}/src/test/java</testSourceDirectory>
<testOutputDirectory>${basedir}/src/main/WEB-INF/classes/test</testOutputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<webappDirectory>${basedir}/src/main/webapp</webappDirectory>
<failOnMissingWebXml>true</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

有什么办法可以避免这种情况吗?

提前致谢,穆利。

最佳答案

这没有任何意义

    <sourceDirectory>${basedir}/src/main/java</sourceDirectory>
<outputDirectory>${basedir}/src/main/WEB-INF/classes</outputDirectory>
<testSourceDirectory>${basedir}/src/test/java</testSourceDirectory>
<testOutputDirectory>${basedir}/src/main/WEB-INF/classes/test</testOutputDirectory>

删除这些行。您正在将应用程序构建到源目录。

这也没有意义

    <resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>

为什么资源中有 .java 文件?

关于java - 使用 Eclipse Kepler 的包目标使用 Maven 构建创建的重复 WEB-INF 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20606582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com