Проект Maven: SWT 3.5 зависимость: есть официальное публичное репо? - PullRequest
16 голосов
/ 23 февраля 2011

Ну, короче говоря, мне может нужно получить новую версию 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, о которых вы знаете?

TIA

PS: Я в основном новичок в отношении макета сайта продуктов Eclipse и обычно теряюсьв результатах поиска Google и / или на самом сайте Eclipse ... поэтому, хотя ответ может быть очевиден для вас, он, вероятно, не будет таковым для меня, даже ретроспективно.

Ответы [ 5 ]

40 голосов
/ 03 апреля 2012

Я создал репозиторий Maven для Windows, Linux и OSX-артефактов на github:

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 и 3.5.1.

Мы используем подход на основе селена для автоматического развертывания артефактов новых версий SWT по мере их выпуска. Исходный код для автоматизации открыт и доступен на github:

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

Удачного кодирования!

15 голосов
/ 21 октября 2011

Обновление : репо было снято и заменено на repo.eclipse.org, который не содержит артефакты SWT.

Вы можете использовать размещенный репозиторий Nexusпри затмении (этот репозиторий находится в состоянии «тестирования»)

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

В этом сообщении содержится ошибка с дополнительной информацией: https://bugs.eclipse.org/bugs/show_bug.cgi?id=199302

10 голосов
/ 03 марта 2011

Grab здесь нужная вам версия.SWT по-прежнему не входит в платформу нейтрально, поэтому вы должны обратить внимание на платформу для использования.Я взял версию для Windows с постфиксом 3.6.1-win32-win32-x86.Я использовал это как versionId, оставляя платформу вне полей группы / артефакта.Это может быть не совсем правильно для гевенов Maven, но подходит мне (по крайней мере, на данный момент).Также я использую отладочную версию 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>

Надеюсь, это кому-нибудь поможет, и я получу некоторую карму за щедрость на другие, более сложные мои вопросы ...;)

4 голосов
/ 18 марта 2011

взгляните на maven-eclipse-plugin. Предполагая, что у вас есть локальная установка eclipse в / opt / eclipse, сделайте следующее:

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

Это сгенерирует poms для всех плагинов Eclipse и загрузит их в ваш локальный репозиторий. Также возможно загрузить сгенерированные poms и jar в удаленное хранилище, используя опцию плагина "deployTo".

Смотри также:
Maven-затмение-плагин

После этого вы можете использовать артефакты из хранилища.

Надеюсь, информация полезна.

-Martin

2 голосов
/ 11 января 2017

Начиная с Neon.2 (v 4.6.2), многие пакеты Eclipse, включая SWT, доступны в Maven Central:

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

Обратите внимание, что в отличие от ранее опубликованных артефактов SWT, идентификатор группы был изменен на org.eclipse.platform. Чтобы включить SWT для 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 (в настоящее время публикуются каждый год в июне) будут доступны в виде артефактов 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/

...