首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何告诉Eclipse/Buildship/Gradle向模块路径添加依赖项

如何告诉Eclipse/Buildship/Gradle向模块路径添加依赖项
EN

Stack Overflow用户
提问于 2017-12-06 14:26:21
回答 1查看 1.5K关注 0票数 4

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

月食:氧气建造: 2.2.0级: 4.3.1

我正在寻找一种方法来告诉Buildship/Gradle向Modulepath而不是Classpath添加Project和外部依赖项。

下面是我在配置Eclipse项目Java构建路径时所看到的内容的表示。

代码语言:javascript
复制
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
         - ...

当我试图引用模块-info.java中的自动模块coreutil时,我得到了无法将coreutil解析为一个模块的错误。

如果我手动将coreutil-9.4.1.jar添加到Modulepath中,则coreutil模块将可见。但是,这是一个问题,因为在某些情况下手动添加60多个库是不切实际的。而且,每次我刷新Gradle项目时,它们都会从Modulepath中移除。

谢谢你帮忙。

加厄坦

EN

回答 1

Stack Overflow用户

发布于 2017-12-14 19:28:27

在与gradle的Donós交谈(谢谢Donát)之后,在build.gradle文件中添加以下内容解决了这个问题:

代码语言:javascript
复制
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
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47676613

复制
相关文章

相似问题

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