微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 如何在我的Gradle JAR类路径构建脚本中包含com.sun.tools JAR并同步我的IDE?

我需要com.sun.tools jar作为编译依赖项,所以我只是将它复制到我的Intellij项目中的libs文件夹中.但是,我正在尝试使用gradle.我只需要它作为我的一个模块的依赖项.我该怎么做呢.我目前在我的模块jar任务中有这个:

jar {

    from('build/classes/main/')
    from('libs/tools.jar')

    manifest {
        attributes 'Manifest-Version': '1.0',
                'Class-Path': configurations.runtime.files.collect {"../lib/${it.name}" },
}

我也在我的模块的“依赖关系”闭包中尝试了这个:

 compile fileTree(dir: 'lib', include: '*.jar')

我也尝试将jar放在我的整个项目类路径上,它仍然没有编译:

    classpath ":tools"

也许这是正确的,但我的IDE没有正确刷新?我已经有了插件

apply plugin: 'idea'

在我尝试这样做之前,它一直很完美.

编辑:这是一个注释处理器,所以我试图将它包含在我的模块jar构建中,而不是让其他模块依赖它.有没有比复制jar更好的方法呢?

解决方法:

有一种方法可以表达对tools.jar的依赖,而无需复制jar:

dependencies {
  compile files("${System.getProperty('java.home')}/../lib/tools.jar")
}

Intellij 2017.1能够识别并将其作为模块依赖项导入而不会出现问题.

它只适用于在JDK上运行,因为裸JRE没有包含tools.jar.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐