【问题标题】:Eclipse - Wicket - HTML files from dependent projects not being foundEclipse - Wicket - 未找到来自依赖项目的 HTML 文件
【发布时间】:2011-08-25 10:03:31
【问题描述】:

我想在 Eclipse 中构建一个可重用的 Wicket 组件。我有一个项目“组件”,其中包含 MyComponent.java 和 MyComponent.html 等文件。然后我有一个项目“应用程序”,其中包含我的应用程序代码,我希望从中使用 MyComponent。

但是,Wicket 找不到 MyComponent.html。如果我将此文件从“组件”复制到“应用程序”,并使用完全相同的路径,那么 Wicket 会发现它没有问题。

因此,我总结说 Eclipse 没有从依赖项目“组件”中复制 HTML 文件并使其可用于 Web 应用程序。我无法真正确认这一点,因为我不知道从“组件”项目生成 JAR 的位置,也不知道在哪里/是否从“应用程序”项目生成 WAR。

我查看了“组件”中的项目设置,在构建项目时找不到任何显式发布 HTML(非 Java)文件的选项;但我也找不到任何明确禁止这样做的选项。在“应用程序”项目中,我找不到包含来自其他项目的 HTML 文件的选项(只有包含 JAR 的选项 - 这可能就足够了?)

更新:我没有使用Maven,只是使用Eclipse的默认构建过程。

更新:我在 Eclipse 中使用 Tomcat(但没有 Tomcat 的任何 Eclipse 插件;没有它似乎可以正常工作 - 只是显然这不太正确,因此我的问题......)

【问题讨论】:

  • 理想情况下,正如您所建议的,“组件”中的 HTML 应该包含在“组件”jar 文件中。如果您使用 Maven 来构建您的项目(正如许多 wicket 项目所使用的那样),那么您可能在某个地方意外删除(或未添加)有关在构建时包含 HTML 的部分。检查 Maven Wicket 快速入门以获取正确的设置?
  • 好的,谢谢您的信息!知道我通常应该采用哪种方法也很好,即使它还没有完全奏效:)

标签: eclipse wicket


【解决方案1】:

检查 Eclipse 的源文件夹包含/排除过滤器。项目->右键->属性->Java构建路径->选项卡源->选择源文件夹->按钮编辑。

【讨论】:

  • 我在构建路径部分扩展了源条目,上面写着Included: (All)Excluded: (None)。可以吗?
【解决方案2】:

我假设您使用的是 Tomcat - 在测试期间,我通常使用 Tomcat 上下文来引用我的 Eclipse 项目工作区。 工作区包含一个上下文/WEB-INF 目录结构,我编译的所有类、属性、HTML 和其他资源都复制到其中。 Tomcat 上下文文件位于目录 (Tomcat)/conf/Catalina/localhost 中,并包含以下格式的条目:

<Context path="/mywebapp" docBase="C:/eclipse/workspace/myapp/context" reloadable="true">

【讨论】:

    【解决方案3】:

    OK - 经典 Eclipse 操作 - 由于其他原因(重新启动项目总是导致 404 无缘无故:我检查了所有配置文件,一切似乎都很好..),我从 Eclipse 中删除了“应用程序”项目并重新创建它。现在一切正常(HTML 文件可用...)

    【讨论】:

      【解决方案4】:

      我遇到了同样的问题!经过一段时间的研究,我找到了解决方案!

      你需要向maven指定它需要包含所有的文件,maven的理解方式是通过添加下一个命令。

      <build>
          <resources>
              <resource>
                  <filtering>false</filtering>
                  <directory>src/main/resources</directory>
              </resource>
              <resource>
                  <filtering>false</filtering>
                  <directory>src/main/java</directory>
                  <includes>
                      <include>**</include>
                  </includes>
                  <excludes>
                      <exclude>**/*.java</exclude>
                  </excludes>
              </resource>
          </resources>
      </build>
      

      它对我有用,我希望它适用于遇到同样问题的任何人! 我想对于发布此查询的人来说已经太晚了,但对于有这个问题的你来说不是!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-17
        • 1970-01-01
        • 1970-01-01
        • 2022-12-18
        • 2016-02-10
        • 1970-01-01
        • 2020-09-21
        • 2020-08-28
        相关资源
        最近更新 更多