簡體   English   中英

更新maven項目中的.settings / org.eclipse.wst.common.component文件

[英]Updating .settings/org.eclipse.wst.common.component file in a maven project

我在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文件的? 您使用m2eclipse Eclipse插件還是使用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並根據需要設置war源目錄。 將以下代碼段添加到您的pom.xml中。 這就是maven-eclipse-plugin如何確定webapp所在的位置。
<plugin>  
    <artifactId>maven-war-plugin</artifactId>  
    <version>2.1-beta-1</version>  
    <configuration>  
      <warSourceDirectory>src/webapp</warSourceDirectory>  
    </configuration>  
  </plugin>

在進行這些更改並運行mvn eclipse:clean eclipse:eclipse再次mvn eclipse:clean eclipse:eclipse ,你應該在組件文件中看到預期的值。

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

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

好吧,要為JAR(僅)重新生成文件,請在項目上右鍵單擊>屬性>項目構面: - 檢查Java選項並選擇Java版本。 它會將文件org.eclipse.wst.common.project.facet.core生成到.settings文件夾中 - 檢查Utility Module。 它會將文件org.eclipse.wst.common.component生成到.settings文件夾中 - 單擊Apply按鈕和/或OK按鈕

這只是為IDE環境生成文件的一種方法。 根據我們的理解,為什么m2e-wtp無法正確生成文件的一個原因是“壞”POM。 似乎Project Facets是從pom.xml文件及其他項目/模塊之間的關系推導出來的(例如:Dependencies與Web模塊/ Java EE項目類型)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM