我的任务是为Solaris构建SWT jar文件。不幸的是,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上使用它有任何想法?