gpt4 book ai didi

eclipse - 为什么Eclipse会把maven运行时依赖变成编译依赖?

转载 作者:行者123 更新时间:2023-12-04 02:00:43 25 4
gpt4 key购买 nike

我有一个导入到 Eclipse Oxygen 中的 Maven 项目。 Eclipse 报告没有编译问题 (Alt + F5)。当我从命令行运行 maven 时,我得到了

[ERROR] /home/dean/src/TAP3UIs/TAP3Desktop/src/main/java/com/ms/tap3/controller/RequestAccessController.java:[8,30] package com.google.common.base does not exist

该包确实存在于我的 guava-15.0.jar 中的 .m2/repository 中。我也可以在 Eclipse mvn dependencies 中看到它。当我检查项目的 mvn dependency:tree 时,我看到了

[信息] | | | +- com.google.guava:guava:jar:15.0:runtime

它是对命令行的运行时传递依赖,这解释了为什么它不能在命令行上编译。 Eclipse 以某种方式将传递依赖从运行时转变为编译。

有谁知道为什么会发生这种情况以及我如何使 Eclispe m2e 遵守传递依赖项的范围?

最佳答案

目前,JDT也不m2e支持每个项目的多个类路径,这是支持不同范围所必需的。

参见:Eclipse bug 486035 - Different classpath containers for different scopes

更新:

自 2018 年 6 月发布的 Eclipse Photon (4.8)以来,现已支持。参见 Eclipse bug 526858my video showing this in action .

关于eclipse - 为什么Eclipse会把maven运行时依赖变成编译依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47491373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com