首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven Eclipse插件错误?无法自动添加工作区内依赖项JAR以运行配置模块路径

Maven Eclipse插件错误?无法自动添加工作区内依赖项JAR以运行配置模块路径
EN

Stack Overflow用户
提问于 2020-04-16 11:41:57
回答 1查看 14关注 0票数 0

下面是我的情况的简要介绍:

我有两个Java项目:一个是Java8(所以不是模块化的),另一个是Java11的模块化项目。

模块化/非模块化的问题可能不相关,但为了清楚起见,我已经说明了这一点。

作为参考,Java 8是我制作的游戏库,Java 11是我正在制作的游戏实现。

我需要从我的Java 11游戏项目中引用Java 8库。

这两个项目都是Maven项目,我在游戏的POM文件中定义了我的依赖项。

我使用的是最新版本的Eclipse (2020-03 4.15.0)和Maven3.6.3以及Java version11.0.7 OracleJDK。

我的问题是:

我的理解是,我的Java 8库项目变成了一个自动模块。将其添加到我的Java 11游戏项目module-info文件中可以正常工作(出现名称不稳定的警告,但没有问题),并且我可以在Eclipse中编译游戏项目代码而不会出现任何问题。

当我尝试运行游戏时,我得到了Module <my-library> not found, required by <my-game>。现在,由于Maven正在管理依赖项,它应该可以正常工作。

如何让我的游戏运行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-16 11:41:57

我可以用三种方法解决它。

首先,我可以简单地手动将库项目的JAR文件(在它的目标文件夹中)添加到我的游戏项目的运行配置模块路径中。

其次,我可以从我的工作区中删除库项目。这意味着Maven随后会从本地的m2存储库(与mvn install一起安装)获取JAR。在这种情况下,Maven会自动正确地将JAR添加到运行配置模块路径中。

第三,我可以在库项目的POM文件中更改库项目的版本,就像选项2一样,这意味着它不再满足依赖项,然后Maven会在本地m2存储库中查找JAR。

但是..。

在我看来,这三个选项都应该是不必要的。这感觉就像是Maven未能将工作空间中的项目依赖项添加到Eclipse的Run配置中的模块路径的bug。

公平地说,它是一个Maven Eclipse插件特性,可以自动检测工作区中的某个项目是依赖项,并使用该“活动”版本而不是m2存储库版本。对于在库上并行开发的情况,这是非常方便的。

但是直到这个bug被修复(或者除非它不是一个bug,我遗漏了什么),这让我非常沮丧。我发布这篇文章的目的是希望能帮助其他可能面临同样问题的人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61242311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档