Eclipse未选择Maven generate-sources文件夹

pil*_*rth 5 eclipse m2eclipse maven m2e

我正在将我的构建从Ant迁移到Maven。用于编译“代码生成器”的Ant构建,执行此“代码生成器”,生成了一组Java和C代码。然后,它将生成的Java代码与其他一些代码一起编译生成一个jar。

我已经很容易地在Maven中复制了此代码,并且当我从命令行运行时它运行良好,但是Eclipse抱怨并给我一个与pom文件有关的错误

无法在http:// {您的内部站点存储库} / nexus / content / groups / public中找到{group.id}:{artifact.id}:pom:1.0.0-SNAPSHOT,该文件已缓存在本地存储库中,在快照的更新间隔过去或强制执行更新之前,无法重新尝试

其中group.id和artifact.id是我的代码生成器插件的组和工件id

并且任何引用生成的代码的代码也将无法编译。

我的Maven构建包括

  • 一个生成器项目,其中仅包含代码生成器的Java代码。

  • 一个生成器插件项目,其中仅包含将生成器包装为Maven插件的代码。这取决于生成器项目。

  • 一个使用插件生成代码的xyz项目。该代码最终位于该项目的target / generated-sources / xxx文件夹中。我已经根据Maven编译配置了build-helper-maven-plugin,其中包含多个src目录,以包括此额外的源目录。

如果我将生成的源文件夹手动添加到Eclipse构建路径,那么与该项目上的代码相关的所有错误都将在该项目上消失,而在任何下游项目上都不会消失,并且上面列出的“无法找到...”错误仍然存​​在。

令我有些困惑的是,它实际上是指...:pom:1.0.0-SNAPSHOT,而实际上我的生成器插件被定义为maven插件。

这是明智的做法吗?

为什么会出现“无法找到...”错误?

为什么Eclipse不选择我的生成源文件夹?

我还应该说我在Eclipse IDE中安装了m2e插件和用于build-help-maven-plugin的m2e连接器。

Pmt*_*Pmt 0

从存储库下载库时似乎出现了问题。我曾经遇到过同样的错误消息。

  • 您查看过本地存储库吗?

    转到 .m2 文件夹并查找/nexus/content/groups/public. 如果该文件夹存在,请打开它并查看该库是否已正确下载。如果没有,尝试删除该文件夹并尝试运行mvn install强制下载lib。

    在 Eclipse 中,Right button > Maven > Update Project也运行。

  • 您是否使用像 Artifactory 这样的本地存储库,不是吗?还要在(或类似)文件夹中查找 lib repo1-cache。看看罐子在不在。

  • 您是否有防火墙或代理?