gpt4 book ai didi

eclipse - 如何告诉 Eclipse/Buildship/Gradle 将依赖项添加到 Modulepath

转载 作者:行者123 更新时间:2023-12-03 03:07:59 24 4
gpt4 key购买 nike

我正在尝试使用 Eclipse、Buildship、Gradle 来开发 java 9 应用程序。

eclipse :氧气
build 船:2.2.0
Gradle :4.3.1

我正在寻找一种方法来告诉 Buildship/Gradle 将项目和外部依赖项添加到模块路径而不是类路径。

这是我在配置 Eclipse 项目 Java Build Path 时看到的内容。

Properties for TestMain

Java Build path

Source | Projects | Libraries | Order and Export
---------
Modulepath
- JRE System Library [JavaSe-9]

Classpath
- Project and External Dependencies
- Access rules: No rules defined
- External annotations: (None)
- Native library location: (None)
- coreutil-9.4.1.jar
- slf4j-api-1.7.2.1.jar
- ...

当我尝试在 module-info.java 中引用自动模块 coreutil 时,我收到错误 coreutil 无法解析为模块。

如果我手动将 coreutil-9.4.1.jar 添加到 Modulepath,那么 coreutil 模块就会变得可见。然而,这是一个问题,因为在某些情况下手动添加超过 60 个库是不切实际的。此外,每次我刷新 Gradle 项目时,它们都会从 Modulepath 中删除。

感谢帮助。

盖坦

最佳答案

在 gradle 与 Donát Csikós 交谈(感谢 Donát)后,将以下内容添加到 build.gradle 文件可以解决问题:

apply plugin: 'eclipse'

eclipse.classpath.file {
whenMerged {
entries.findAll { isModule(it) }.each { it.entryAttributes['module'] = 'true' }
}
}

boolean isModule(entry) {
// filter java 9 modules
entry.kind == 'lib' // Only libraries can be modules
}

关于eclipse - 如何告诉 Eclipse/Buildship/Gradle 将依赖项添加到 Modulepath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47676613/

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