Мне было поручено собрать файлы jar SWT для Solaris. К сожалению, готовые версии, доступные для Solaris, слишком старые, поэтому у меня нет другого выбора.
Для начала у меня очень ограниченный опыт работы с Maven, но я набираю кое-что по ходу.
Когда я пытаюсь
mvn clean package
Я получаю следующее:
[INFO] Resolving dependencies of MavenProject: org.eclipse.swt:org.eclipse.swt.tools.base:3.107.0-SNAPSHOT @ /home/User/employees/culver_city/giperez/git/eclipse.platform.swt/bundles/org.eclipse.swt.tools.base/pom.xml
[INFO] {osgi.os=linux, osgi.ws=gtk, org.eclipse.update.install.features=true, osgi.arch=x86}
[ERROR] Cannot resolve project dependencies:
[ERROR] Software being installed: org.eclipse.swt.tools.base 3.107.0.qualifier
[ERROR] Missing requirement for filter properties ~= $0: org.eclipse.swt 3.107.0.qualifier requires 'org.eclipse.equinox.p2.iu; org.eclipse.swt.gtk.linux.x86 [3.107.0.qualifier,3.107.0.qualifier]' but it could not be found
[ERROR] Cannot satisfy dependency: org.eclipse.swt.tools.base 3.107.0.qualifier depends on: osgi.bundle; org.eclipse.ui 3.4.0
[ERROR] Cannot satisfy dependency: org.eclipse.ui 3.109.100.v20180426-0903 depends on: osgi.bundle; org.eclipse.swt [3.103.0,4.0.0)
Это жалоба org.eclipse.swt.gtk.linux.x86, которая не имеет смысла, которую я создаю для Solaris.
Кажется, проблема в следующем:
[INFO] {osgi.os = linux, osgi.ws = gtk, org.eclipse.update.install.features = true, osgi.arch = x86}
Итак, OSGI передается как «linux» как ОС, что опять же не имеет смысла. Я подумал, что если бы я мог это исправить, то я мог бы обойти эту проблему, но я не смог.
Я попытался добавить в корень pom.xml следующее:
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
<configuration>
<environments>
<environment>
<os>solaris</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
И я попробовал много вариантов:
mvn clean package -Dorg.eclipse.osgi.os=solaris
Независимо от того, я вижу:
[INFO] {osgi.os=linux, osgi.ws=gtk, org.eclipse.update.install.features=true, osgi.arch=x86}
И возникает та же ошибка.
Странно, если я попытаюсь:
mvn clean package -Pbuild-individual-bundles
Это работает! Однако файл 'jar', который я ищу (org.eclipse.swt.gtk.jar или какой-либо другой вариант), не существует.
У кого-нибудь есть идеи, как заставить это работать на Solaris?