maven项目:SWT 3.5依赖:任何官方公共回购?

时间:2011-02-23 19:53:16

标签: java maven swt conventions

嗯,简而言之,我可能需要获取新的SWT版本而不是我们现在使用的3.3版本。该项目现在只有这种依赖,并且构建良好:

<dependency>
  <groupId>org.eclipse.swt.win32.win32</groupId>
  <artifactId>x86</artifactId>
  <version>3.3.0-v3346</version>
</dependency>

AFAICGoogle,公共maven回购中没有更新版本: http://repo1.maven.org/maven2/org/eclipse/swt/

所以:

  1. 是否有一些公共maven回购 最近的建设?
  2. 如果没有,你在哪里 得到你在本地安装的罐子 和/或在您的公司Nexus中?
  3. 任何groupId / artifactId 你知道的建议/惯例?
  4. TIA

    PS:我主要是Eclipse产品网站布局的菜鸟,通常会迷失在谷歌搜索结果和/或Eclipse网站本身......所以尽管答案可能对你来说很明显,但对于你来说可能并非如此我,甚至是回顾性的。

5 个答案:

答案 0 :(得分:39)

我为Windows创建了一个maven repo,Linux&amp; github上的osx工件:

https://github.com/maven-eclipse/swt-repo

要使用它,只需将以下内容放入pom.xml:

<repositories>
    <repository>
        <id>swt-repo</id>
        <url>https://raw.githubusercontent.com/maven-eclipse/swt-repo/master/</url>
    </repository>
</repositories>

然后您可以引用与您的平台相关的SWT依赖项。例如:

    <dependency>
        <groupId>org.eclipse.swt</groupId>
        <artifactId>org.eclipse.swt.win32.win32.x86</artifactId>
        <version>4.4</version>
    </dependency>

对于其他平台,只需将artifactId替换为适当的值:

  • org.eclipse.swt.win32.win32.x86
  • org.eclipse.swt.win32.win32.x86_64
  • org.eclipse.swt.gtk.linux.x86
  • org.eclipse.swt.gtk.linux.x86_64
  • org.eclipse.swt.cocoa.macosx
  • org.eclipse.swt.cocoa.macosx.x86_64

此外,SWT 4.3.2,4.3.1,4.3.0,4.2.2,4.2.1,3.8,3.7.2&amp;此存储库中也提供了3.5.1。

我们使用基于selenium的方法自动部署新SWT版本的工件。自动化的源代码是开放的,可以在github上找到:

https://github.com/hennr/swt-release-fetcher

快乐的编码!

答案 1 :(得分:15)

更新:回购邮件是taken down,由repo.eclipse.org取代,后者不包含SWT工件。

您可以使用eclipse托管的Nexus存储库(此存储库处于“测试”状态)

<击> http://maven.eclipse.org/nexus/content/repositories/testing/org/eclipse/swt/

此处有一个错误,有更多信息: https://bugs.eclipse.org/bugs/show_bug.cgi?id=199302

答案 2 :(得分:10)

抓取here您需要的版本。 SWT仍然没有捆绑平台中立,因此您必须注意要使用的平台。 我抓住了windows版本,后缀为3.6.1-win32-win32-x86。我已将其用作versionId,使平台脱离组/工件字段。这对于maven gurus来说可能并不完全正确,但对我来说非常合适(至少目前如此)。此外,我正在使用jar的调试版本,这对于开发是可以的。

所以我们走了。

解压缩存档,然后发布(在存档的根文件夹中):

mvn install:install-file -DgroupId=org.eclipse -DartifactId=swt -Dversion=3.6.1-win32-win32-x86 -Dfile=swt-debug.jar -Dpackaging=jar -DlocalRepositoryPath=../path/to/your/local/project/repo

然后再安装源代码:

mvn install:install-file -DgroupId=org.eclipse -DartifactId=swt -Dversion=3.6.1-win32-win32-x86 -Dfile=src.zip -Dpackaging=jar -Dclassifier=sources -DlocalRepositoryPath=../path/to/your/local/project/repo

将对本地存储库的引用添加到您的pom.xml

<repositories>
    <repository>
        <id>local</id>
        <name>Project Local Repository</name>
        <layout>default</layout>
        <url>file://${project.baseDir}/path/to/your/local/project/repo/</url>
    </repository>
</repositories>

然后添加一个依赖项:

<dependency>
    <groupId>org.eclipse</groupId>
    <artifactId>swt</artifactId>
    <version>3.6.1-win32-win32-x86</version>
</dependency>

希望这对某人有所帮助,而且我会因为我的其他更难的问题而得到一些赏金;;)

答案 3 :(得分:4)

看看maven-eclipse-plugin。假设您在/ opt / eclipse中安装了本地eclipse,请执行以下操作:

mvn eclipse:to-maven -DeclipseDir=/opt/eclipse/ -DstripQualifier=true

这将为所有eclipse插件生成poms并将它们上传到您的本地存储库。也可以使用插件选项“deployTo”将生成的poms和jar加载到远程仓库。

另见:
maven-eclipse-plugin

之后,您可以使用存储库中的工件。

希望这些信息有用。

-Martin

答案 4 :(得分:2)

从Neon.2(v 4.6.2)开始,Maven Central上提供了许多Eclipse包,包括SWT:

https://repo1.maven.org/maven2/org/eclipse/platform/

请注意,与早期发布的SWT工件相比,组ID已更改为org.eclipse.platform。例如,要包含SWT for Windows,请将其添加到您的pom:

<dependency>
    <groupId>org.eclipse.platform</groupId>
    <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
    <version>${swt-version}</version>  <!-- currently 3.105.2 -->
</dependency>

从现在开始,所有Eclipse平台版本(目前每年6月左右发布)将作为maven工件提供。请参阅此处以查找最新版本号:https://search.maven.org/#search%7Cga%7C1%7Corg.eclipse.platform%20swt

请点击此处查看详情:https://objectteams.wordpress.com/2017/01/09/eclipse-neon-2-is-on-maven-central/