【问题标题】:Updating .settings/org.eclipse.wst.common.component file in a maven project在 Maven 项目中更新 .settings/org.eclipse.wst.common.component 文件
【发布时间】:2011-01-04 03:47:55
【问题描述】:

我在 Eclipse 中处理一个 maven 项目,并且在没有手动编辑 xml 文件的情况下无法让部署工作。

当我通过 maven 构建项目时,我的 .settings 文件夹中有一个 org.eclipse.wst.common.component xml 文件。该文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="ins-web">           
        <wb-resource deploy-path="/" source-path="/WebContent"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/java"/>
        <property name="context-root" value="ins-web"/>
        <property name="java-output-path"/>
    </wb-module>
</project-modules>

以下行导致问题:

<wb-resource deploy-path="/" source-path="/WebContent"/>

它希望将所有内容部署在 WebContent 文件夹下,而实际上它应该在 src/webapp 中查找。因此,该行应如下所示:

<wb-resource deploy-path="/" source-path="/src/webapp"/>

如果我手动更改它,那么一切正常,但我想知道是否有办法避免手动更改文件,从而使我团队中的其他人的构建过程更容易。

【问题讨论】:

  • 你是怎么做eclipse项目的?手动还是通过 maven-eclipse 插件?

标签: eclipse maven-2 maven


【解决方案1】:

您是如何生成 Eclipse 文件的。您使用的是m2eclipse Eclipse plugin 还是maven-eclipse-plugin? m2eclipse 是 Eclipse 的一个插件,在 Eclipse 中运行。 maven-eclipse-plugin 是一个从 cmd 行运行的 Maven 插件,用于根据您的 pom.xml 生成 Eclipse 项目文件。

我一直使用 maven-eclipse-plugin 取得了更好的成功。 m2eclipse 的作者不建议你尝试同时使用这两个插件。

如果您使用的是 maven-eclipse-plugin,您应该检查几件事。

  1. 使用最新的 maven-eclipse-plugin 2.7 版。
  2. 确保您的项目是“战争”包装'
  3. 同时配置 maven-war-plugin 并根据需要设置战争源目录。将以下 sn-p 添加到您的 pom.xml。这就是 maven-eclipse-plugin 确定您的 webapp 所在位置的方式。
maven-war-plugin2.1-beta-1src/webapp配置> 插件>

进行这些更改并再次运行mvn eclipse:clean eclipse:eclipse 后,您应该会在组件文件中看到预期值。

【讨论】:

  • 嗨彼得,我没有使用 maven-eclipse-plugin。我从命令行运行所有 maven 命令。我在我的项目中搜索了一个设置“warSourceDirectory”的位置,但找不到...
  • 听起来你认为maven-eclipse-plugin 是一个在eclipse 中运行的Eclipse 插件。它不是。它是一个从 cmd 行执行的 Maven 插件。 warSourceDirectory 是您项目的 Maven pom.xml 中的 maven-war-plugin 配置的一部分。
【解决方案2】:

在 maven-eclipse-plugin 配置中添加...

<additionalConfig>
  <file>
    <name>.settings/org.eclipse.wst.common.component</name>
    <content>
      <![CDATA[Your file content here
      ]]>
    </content>
  </file>
</additionalConfig>

【讨论】:

    【解决方案3】:

    好吧,要重新生成 JAR 文件(仅),在项目上,右键单击 > 属性 > 项目构面: - 检查 Java 选项并选择 Java 版本。它将生成文件 org.eclipse.wst.common.project.facet.core.settings 文件夹中 - 检查实用模块。它将生成文件 org.eclipse.wst.common.component.settings 文件夹中 - 点击应用按钮和/或确定按钮

    这只是为您的 IDE 环境生成文件的一种方式。据我们了解,m2e-wtp 无法正确生成文件的一个原因是“坏”的 POM。似乎项目方面是从 pom.xml 文件及其与其他项目/模块之间的关系推导出来的(例如:与 Web 模块/Java EE 项目类型的依赖关系)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      • 2019-11-07
      • 1970-01-01
      • 2018-04-28
      • 1970-01-01
      • 2017-04-21
      • 1970-01-01
      相关资源
      最近更新 更多