eclipse - 在 Eclipse 中使用 Jetty Maven 插件在多模块项目 : Compilation unit not on the build path 上进行调试

标签 eclipse debugging maven jetty multi-module

我想使用 Jetty Maven 插件在 Eclipse 中运行一个多模块项目。 The project运行得很好,运行 mvn jetty:run-exploded 配置文件得到正确处理。

Maven 设置:

/parent/pom.xml
/parent/module-1/pom.xml
/parent/module-2/pom.xml
/parent/module-service/pom.xml (this is the one that builds the webapp)

Eclipse 设置: 项目和所有模块都是工作空间中的Maven项目,模块项目也是Java项目。

我将标准 Jetty 配置添加到/module-service/pom.xml 并且在 module-service/pom.xml 上运行 Maven

但是,当我想调试时,当我想使用内容辅助时遇到以下错误:

This compilation unit is not on the build path of a Java project.

此外,热代码替换不起作用。但是变量和所有断点都被正确检测到了!我看到的是在父项目中打开文件的编辑器(作为副作用,编辑器有一个不同的 Java 文件图标,一个空心的蓝色 J 而不是完整的蓝色 J)。

目前尝试过的解决方案:

  • 将 Java 方面添加到父项目 >​​ 源文件夹被正确检测到,但我只收到很多构建路径错误,因为父项目没有指向模块的所有库的指针。
  • 将模块添加到模块服务项目的构建路径。
  • 检查调试配置中的解决工作区 Artifact (导致错误“无法为 Artifact 复制文件”),可能已解决 here ,但我不知道该怎么做。

我使用 jetty-maven-plugin 版本 8.1.4.v20120524。

最佳答案

有点晚了,但可能对某些人有用。

尝试使用 jetty:run 目标并在 Run configurations/Maven Build/yourProject/Main|Tab| 中选择“Resolve Workspace artifacts” (其中 yourProject 是您使用 jetty:run 目标运行的项目)。当然,您必须使用“Import->Existing Maven Project”导入所有依赖项目。

关于eclipse - 在 Eclipse 中使用 Jetty Maven 插件在多模块项目 : Compilation unit not on the build path 上进行调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11240347/

相关文章:

css - Eclipse RCP CSS pack() 不考虑新字体

windows - 使用预取队列的反调试不适用于我的 cpu

java - 相当于 Jar 中的 this.getClass().getClassLoader().getResource (".").toURI()

eclipse - 有没有办法为 Eclipse 工具提示添加延迟?

java - 无法创建 ePub

angular - 为什么我的 Eclipse 控制台中有多个 Angular 语言服务器选项卡

java - 通过java程序进行跟踪

perl - 修复 Perl 调试器

java - 需要帮助安装和运行 Spring Petcare 示例应用程序

java - 如何将 Tycho 包装类型添加到 Eclipse 中的 Maven 对话框中?