【问题标题】:Eclipse WTP shows "Fragment was not found at expected path" for included file from another maven projectEclipse WTP 为来自另一个 maven 项目的包含文件显示“在预期路径未找到片段”
【发布时间】:2020-09-04 23:05:06
【问题描述】:

我有一个简单的 maven web 项目,由两个模块组成(完整源代码在https://github.com/0xfthul/bug):

  • bug-fragment:一个 Web 片段项目
  • bug-war:试图在index.jsp 中包含片段中的一个文件的战争

Eclipse 显示以下错误

Fragment "/included.jspf" was not found at expected path /bug-war/src/main/webapp/included.jspf

screenshot of my eclipse screen, showing the error

当我在 wildfly 中运行这个项目时,它运行时没有错误。 如果我在不使用 maven 的情况下创建类似的项目,eclipse 不会显示错误。

在检查错误时,我发现了以下错误报告 (2013): https://bugs.eclipse.org/bugs/show_bug.cgi?id=398698 错误报告中提供的项目运行良好。

Eclipse 版本:2019-09 R (4.13.0) 构建 ID:20190917-1200

项目结构:

bug
├── bug-fragment
│   ├── pom.xml
│   └── src
│       └── main
│           └── resources
│               └── META-INF
│                   ├── resources
│                   │   └── included.jspf
│                   └── web-fragment.xml
├── bug-war
│   ├── pom.xml
│   └── src
│       └── main
│           └── webapp
│               ├── WEB-INF
│               │   └── web.xml
│               └── index.jsp
└── pom.xml

这是来自 bug-war 项目的 org.eclipse.wst.common.component 文件的内容:

<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="bug-war-1.0">
        <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"/>
        <dependent-module archiveName="bug-fragment-1.0.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/bug-fragment/bug-fragment">
            <dependency-type>uses</dependency-type>
        </dependent-module>
        <property name="context-root" value="bug-war"/>
        <property name="java-output-path" value="/bug-war/target/classes"/>
    </wb-module>
</project-modules>

【问题讨论】:

  • Eclipse 是否知道这两个项目是相关的,比如在主 war 项目的 Deployment Assembly 属性页上?在链接的 bug 的示例项目中,BugDemo1/.settings/org.eclipse.wst.common.component 显示它已在那里连接在一起。理想情况下,当您纯粹处理 Maven 项目时,m2e-wtp 插件或标准 m2e 行为会为您将两者联系在一起。
  • 是的,bug-war 项目指向 Deployment Assembly 页面中的 bug-fragment。我还检查了 Project References 属性页。未选择错误片段,但选择它没有任何作用,并且错误继续出现。
  • 如果您在片段项目中编辑org.eclipse.wst.common.component 文件,您应该看到附加到wb-resource 标记的属性tag="defaultRootSource" 为不存在的src/main/java 文件夹生成。将属性移动到您拥有的文件夹的标签作为一种解决方法,只要您在之后重新验证主 Web 应用程序。
  • 您能为此打开一个错误报告吗?
  • 应用建议的解决方法后,eclipse 停止显示包含错误。在bugs.eclipse.org/bugs/show_bug.cgi?id=563352 提交错误报告感谢您对 Nitin 的支持!

标签: eclipse maven jsp eclipse-wtp web-fragment


【解决方案1】:

这是一个错误。预计它会在 2020-06 年 6 月的版本中修复。

【讨论】:

    猜你喜欢
    • 2013-06-04
    • 2010-09-20
    • 1970-01-01
    • 2021-09-02
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    相关资源
    最近更新 更多