Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 部署程序集中的目标/m2e wtp/web资源是什么?_Java_Eclipse_Maven_M2e Wtp - Fatal编程技术网

Java 部署程序集中的目标/m2e wtp/web资源是什么?

Java 部署程序集中的目标/m2e wtp/web资源是什么?,java,eclipse,maven,m2e-wtp,Java,Eclipse,Maven,M2e Wtp,我在Eclipse中使用Maven创建了一个webapp项目,我发现在“Deployment Assembly”配置卡中有一个名为target/m2e wtp/web resources文件夹的源代码。这个来源代表什么?我应该保留它还是删除它 首先,您拥有这个条目意味着您的Eclipse工作顺利。您已经安装了M2Eclipse,并且安装正确 M2Eclipse是一个将Maven集成到Eclipse中的项目。它提供了直接在Eclipse中构建项目的能力(以及一系列其他功能)。m2e wtp是m2e

我在Eclipse中使用Maven创建了一个webapp项目,我发现在“Deployment Assembly”配置卡中有一个名为
target/m2e wtp/web resources
文件夹的源代码。这个来源代表什么?我应该保留它还是删除它


首先,您拥有这个条目意味着您的Eclipse工作顺利。您已经安装了M2Eclipse,并且安装正确

M2Eclipse是一个将Maven集成到Eclipse中的项目。它提供了直接在Eclipse中构建项目的能力(以及一系列其他功能)。m2e wtp是m2e的一个子集,它专注于与EclipseWeb工具项目集成,因此与JavaEE项目结合使用

当我说“集成”时,它真的意味着很多魔术正在幕后发生,以使一切顺利进行。m2e wtp的神奇成分之一是
target/m2e wtp web resources
文件夹,在Eclipse内部部署web应用程序时使用该文件夹。引述:

target/m2e wtp/web resources/
是一个包含自动生成的资源的文件夹,需要在应用服务器上部署这些资源。这些产生的资源是:

  • mavenarchiver插件生成的
    pom.properties
    MANIFEST.MF
  • maven-war-plugin
    配置的
    部分中定义的资源,或过滤的
    web.xml
导出了
target/m2e wtp/web资源/
。在Eclipse行话中,这意味着如果您试图手动编辑它包含的文件,它将显示一条警告,因为它们很可能在下一个(增量或非增量)项目构建中被自动覆盖

如果查看
/.settings/org.eclipse.wst.common.component
文件,您将看到
/target/m2e wtp/web resources
是在常规war源目录之前定义的:

<project-modules id="moduleCoreId" project-version="1.5.0">
  <wb-module deploy-name="webapp">
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
    <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
    <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
    <property name="context-root" value="webapp"/>
    <property name="java-output-path" value="/webapp/target/classes"/>
  </wb-module>
</project-modules>

这个顺序背后的基本原理是,如果来自两个不同源文件夹的两个文件发生冲突,WTP将部署它找到的第一个文件。因此,如果您在
src/main/webapp/web-INF
下过滤
web.xml
,您将希望在服务器上部署过滤后的版本,即
target/m2e wtp/web resources/web-INF/web.xml
。如果出于某种原因,您想禁用
target/m2e wtp/web resources/
的使用,那么请知道您可以

因此,不用担心,该文件夹的存在实际上表明您的设置一切正常。如果您错误地删除了该条目,那么下次在Eclipse中更新Maven项目时将重新创建该条目