当前位置: 首页 > 知识库问答 >
问题:

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

商开宇
2023-03-14

我需要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')
    classpath ":tools"
apply plugin: 'idea'

在我尝试做这件事之前,它一直运作得很好。

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

共有1个答案

龚凯泽
2023-03-14

有一种方法可以表达对tools.jar的依赖关系,而不复制JAR:

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

Intellij 2017.1能够识别并将其作为模块依赖项导入而没有任何问题。

但是,它只在JDK上运行时才起作用,因为bare没有包含tools.jar。

 类似资料:
  • 问题内容: 我有以下内容: 这是我的目录结构: / build / lib / MagicFolder / Src /build.xml 文件夹包含文件。 路径应为输入参数。 有外部.jar库,应该将其包含在我的版本中。 将编译.class`文件的文件夹 问题:我应该如何改变我的?我应该: 添加外部库 当我运行我的应用程序时,为我的应用程序输入2个输入参数 问题答案: 如果您需要在类路径中添加一个

  • 我的桌面上有一个.jar文件,我希望将它添加为项目的依赖项,以便在其上使用现有的方法。我该怎么做?

  • 我正在尝试构建我的控制台应用程序,并且我正在使用Ant来构建它。我可以在Eclipse中运行我的应用程序,但是当我试图从我得到的jar中运行它时,ClassNotFoundException:被抛出。是在我的应用程序中使用的一个罐子中。这里是build.xml的一部分,我在这里创建manifest: UPD:我应该把有库的罐子放进我的罐子里吗?现在我把它们放到JAR的“lib”目录中。所以myja

  • 问题内容: 我正在尝试遵循有关Selenium的一些教程,但是在这一点上感到困惑。右键单击“项目”,然后选择“属性”。在“属性”对话框上,单击“ Java构建路径”。单击“库”选项卡,然后单击“添加外部JAR。”。 “添加外部JARS”按钮显示为灰色,并且已禁用。该对话框显示Modulepath和Classpath。如果我选择其中任何一个,则将启用按钮。问题是,我该选哪一个?我正在尝试将selen

  • 问题内容: 我目前正在尝试获取我的HBase代码以使用hbase-site.xml中指定的设置。似乎使用的是默认设置,而不是hbase- site.xml配置文件中指定的设置。自更新文件以来,我已经重新启动了HBase群集,但是它仍未使用我更新的配置文件。 我正在使用的群集有2个节点,其中一个是主节点。两个节点上的配置文件都将主节点的IP指定为Zookeeper仲裁。我相信问题在于我没有使用hba

  • 当我在pubspec中包含“谷歌地图”依赖项时。亚马尔 我的构建失败: 正在启动lib\main。在调试模式下为x86构建的Android SDK上的dart。。。D8:程序类型已存在:android。支持v4。媒体MediaBrowserCompat$ConnectionCallback$ConnectionCallbackInternal****************************