【问题标题】:Import SWT as a Gradle dependency将 SWT 作为 Gradle 依赖项导入
【发布时间】:2016-07-07 03:15:58
【问题描述】:

我正在研究如何将 SWT UI 库导入我的 Java 项目。 我在 maven 上找到了 SWT 的 pom 文件:https://repo1.maven.org/maven2/org/eclipse/swt/3.3.0-v3346/swt-3.3.0-v3346.pom

从文件中,我将以下行添加到我的 build.gradle 文件中

compile "org.eclipse:swt:3.3.0"

但是,当我将它添加到我的 build.gradle 时,我收到了以下错误:

Project 'L-CAD Main' is missing required library: '/home/ashley/unresolved dependency - org.eclipse swt 3.3.0'

如果我理解正确,这意味着它找不到依赖项,所以我不知道我做错了什么。

我的 IDE 是 Eclipse。

【问题讨论】:

  • SWT maven 工件的完整版是3.3.0-v3346。因此,您的 Grade 依赖项也应该引用 org.eclipse:swt:3.3.0-v3346,还是我错了?
  • 顺便说一句,有关 SWT maven 工件的最新版本,请参阅此帖子:stackoverflow.com/questions/5096299/…
  • 是的,它已修复。非常感谢。

标签: java eclipse gradle swt


【解决方案1】:

你必须在依赖行中使用整个包名,包括版本号。

因此将:compile "org.eclipse:swt:3.3.0-v3346" 添加到 build.gradle 文件中。

【讨论】:

  • 这不再起作用了。类文件将从 JAR 中删除。我认为目前最好的方法是分开下载 JAR 并将其添加为本地依赖项(不使用 Gradle)。
【解决方案2】:

在使用 JCenter 和 Gradle 编译 Eclipse SWT 时。

Gradle 为 SWT 提取的存储库是 JCenter SWT

相应地编辑您的gradle.build。您需要将编译行添加到您的Grable.builddependencies closure。例如,如果您想为 64 位 Linux 构建,请使用:

compile 'org.eclipse.swt:org.eclipse.swt.gtk.linux.x86_64:4.3'

根据Eclipse Foundation

SWT 是一个用于 Java 的开源小部件工具包,旨在为实现它的操作系统的用户界面设施提供高效、可移植的访问。

这意味着与 Swing 等其他 Java GUI 工具包不同,SWT 不提供自己的小部件,但允许您编写一个 Java UI,该 UI 可以与特定于平台的 SWT 实现一起用于所需操作系统,例如windows 或 mac。

对于您想要的操作系统,您需要从JCenter SWT 中选择相应的库版本,其中gradle.build 的编译行应该反映:

compile 'org.eclipse.swt:<target platform>:4.3'

例如&lt;target platform&gt;org.eclipse.swt.cocoa.macosx.x86_64/org.eclipse.swt.win32.win32.x86_64/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 2014-08-23
    相关资源
    最近更新 更多