我在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"/>
如果我手动更改它然后一切正常但我想知道是否有办法避免手动更改文件以使我的团队中的其他人更容易构建过程。
答案 0 :(得分:4)
您是如何生成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,你应该检查几件事。
<plugin> <artifactId>maven-war-plugin</artifactId> <version>2.1-beta-1</version> <configuration> <warSourceDirectory>src/webapp</warSourceDirectory> </configuration> </plugin>
进行这些更改并再次运行mvn eclipse:clean eclipse:eclipse
后,您应该会在组件文件中看到预期的值。
答案 1 :(得分:2)
在maven-eclipse-plugin config add ...
<additionalConfig>
<file>
<name>.settings/org.eclipse.wst.common.component</name>
<content>
<![CDATA[Your file content here
]]>
</content>
</file>
</additionalConfig>
答案 2 :(得分:0)
好吧,要为JAR(仅)重新生成文件,请在项目中右键单击&gt;属性&gt;项目方面: - 检查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项目类型)。