Eclipse Maven项目消除了wb资源警告



我在Eclipse Luna中的maven项目给了我两个警告:

破坏的单根规则:web项目或EAR项目只允许使用一个部署路径为"/"的元素

断开的单根规则:web项目的输出文件夹必须是/web-INF/classes configurations web

之所以会发生这种情况,是因为maven插件使用org.eclipse.wst.commmon.component 中的以下wb资源设置了项目配置

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="sample-web">
        <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
        <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="/WEB-INF/classes" source-path="/.apt_generated"/>
        <property name="context-root" value="sample"/>
        <property name="java-output-path" value="/sample-web/target/classes"/>
    </wb-module>
</project-modules>

如何禁用此验证以消除这些烦人的警告?

这就是我所做的,以消除这种多余的警告;

Window->Preferences->Validation.

现在,在这里查找Project Structure Validation,取消选中这两个选项(手动和构建),警告就不再麻烦了。

在我的基于Gradle的Spring Boot项目中,有类似的资源目录会导致问题,但不会再出现了。

希望这能帮助其他人。

如果您想停用警告,可以转到"项目结构验证器",然后转到"…",然后删除"Facet:动态Web模块-jst.Web"。

这很奇怪。我曾在luna从事过maven网络项目,从未出现过这样的错误。

你的pom里有什么特别的吗?记住,maven的哲学是约定而非配置。它省去了很多问题。

当eclipse为某个maven项目疯狂时,我会做以下事情:

  1. 删除项目,但不删除内容
  2. 从命令提示符或文件资源管理器,转到项目根目录,删除所有特定于eclipse的文件和目录,如.project、.classpath、.apt_generated…,以及输出目录,如target。通常,应该只保留pom.xml和src/
  3. 从eclipse导入现有的maven项目并选择您的项目pom
  4. 让eclipse从pom自动配置项目,并在需要时"更新maven项目"
  5. 不要通过eclipse项目偏好直接接触项目配置。总是修改pom,只需"更新maven项目"

按照以下步骤操作,查看问题是否仍然存在。

org.eclipse.wst.commmon.com组件的内容看起来是我在Luna中的Maven项目的典型内容-我没有看到这些警告,但我禁用了所有验证程序。

转到"首选项"、"验证"one_answers"全部挂起"。您可以计算出哪个验证器正在生成消息,然后只禁用那个验证器。

相关内容

  • 没有找到相关文章

最新更新