3

我想使用 Jetty Maven 插件在 Eclipse 中运行一个多模块项目。该项目运行良好,并且运行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

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

此编译单元不在 Java 项目的构建路径上。

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

到目前为止尝试的解决方案:

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

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

4

1 回答 1

0

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

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

于 2014-04-29T09:14:19.003 回答