gpt4 book ai didi

java - 为什么 Maven 找不到位于另一个模块/项目中的包?

转载 作者:行者123 更新时间:2023-12-02 10:04:40 29 4
gpt4 key购买 nike

我正在尝试编译一个多模块 Maven 项目。我在编译添加的新模块时遇到问题。出现此问题的原因是新模块试图导入另一个模块中存在的一对包。

这是新模块的pom.xml:

enter image description here enter image description here

这是 Eclipse 项目资源管理器中的 View ,其中我突出显示了从新模块的 ServicioJMS 类导入的 2 个包:

enter image description here enter image description here

这是执行mvn clean package后命令行中显示的错误

enter image description here

正如你在下面看到的,我在父 pom.xml 中添加了模块:

enter image description here

所以,我不知道我在这里做错了什么¿有什么想法吗?

注意:Eclipse 可以毫无问题地解决与所讨论的导入相关的依赖关系。

最佳答案

我也遇到了类似的问题。转到您所依赖的库(在您的 ~/.m2/repository 目录下或库的 ./target 目录中)并找到编译后的库 jar。使用 jar -tf 列出它并检查缺少的类是否直接在 jar 中列出。

如果您在您所依赖的库中使用 spring boot maven 插件或类似插件,那么它会构造一个具有完全不同结构的 jar,并且类在其中时将隐藏在结构中而不是被隐藏直接按名称放入 jar 中。 Eclipse 理解这一点,但 spring boot 加载器不会在依赖项中解压库的 spring boot maven 插件结构,它只会对正在执行的可运行 jar 执行此操作。

如果这对您来说是正确的,那么您可以从库的 pom 中删除有问题的构建插件,使其只是一个库,而不是可运行的 spring boot jar。

关于java - 为什么 Maven 找不到位于另一个模块/项目中的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55400766/

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