ile birden çok mimari SWT uygulaması oluşturun Bir SWT uygulaması için Maven projesi oluşturdum. Bu uygulama birkaç platformda çalışır (OS X, Windows 64 bit, Windows 32 bit, Linux 64 bit ve Linux 32 bit) ve Maven çalıştırıldığında ve paketlendiğinde platform algılanır. Uygulama farklı hedef dizinlere gider. İşte pom.xml alakalı kısımları bunu başarmak için vardır:Maven
<profiles>
<profile>
<id>linux_x86_64</id>
<activation>
<os>
<name>linux</name>
<arch>amd64</arch>
</os>
</activation>
<build>
<directory>${project.basedir}/target/${project.version}/linux_x86_64</directory>
</build>
</profile>
<profile>
<id>win32_x86_64</id>
<activation>
<os>
<name>linux</name>
<arch>i386</arch>
</os>
</activation>
<build>
<directory>${project.basedir}/target/${project.version}/win32_x86_64</directory>
</build>
</profile>
...
</profiles>
Ve SWT için kullanılan bağımlılık şudur:
<dependencies>
<dependency>
<groupId>org.eclipse</groupId>
<artifactId>swt</artifactId>
<version>3.7.2.v3740</version>
</dependency>
...
</dependencies>
şey net, benim yerel depo cc takılı olduğu yapmak için platfor paketi (org.eclipse.swt_3.7.2.v3740f.jar) ve tüm platforma özgü olanlar (org.eclipse.swt.gtk.linux.x86_64_3.7.2.v3740f, org.eclipse.swt.win32.x86_64_3 .7.2.v3740f, vb.).
Bağımlılıkları paketlememe yolu, maven bağımlılık eklentisini kullanan bir "lib" klasöründedir ve Maven, hem SWT kukla paketini hem de platforma özel makineyi platforma yüklediğim makineden birini kopyalayacak kadar akıllıdır. uygulama. Şimdiye kadar çok iyi ...
Sorun şu ki, farklı platformlar için uygulamayı tek bir makineden derlemek istiyorum. Bunu nasıl başarabilirim?
I (Windows 64 bit için örnek) gibi her platform için gerekli SWT kavanoz her profilde bir özellik kurma denedim:
<properties>
<swt.artifactId>swt.win32.x86_64</swt.artifactId>
<swt.version>3.7.2</swt.version>
</properties>
Ama bu yaklaşımı hem PrOfile alarak belirli SWT kavanoz ve platforma özel Maven üç kavanoz ile biten, "lib" dizinine kopyalanan çalıştırıyorum tek:
- cc-3.7.2.v3740.jar
- cc .gtk.linux.x86_64-3.7.2.jar
- swt.win32.x86_64-3.7.2.jar
ben değilim makinesini görmezden bir profil belirtebilirsiniz hangi bir yolu var mı onu çalıştırarak, SWT jarini el ile kaldırmam gerekmeyecek mi?
Şimdiden teşekkürler.
Tam olarak denediğim şey budur ve sonuçlar orijinal sorumumda açıklananlarla tam olarak aynıdır. Ne olursa olsun, Maven çalıştığı sistemin SWT jarini paketler.Ben Maven'in paketlemek için çalışacağız şüpheli rağmen, http://mchr3k.github.com/swtjar/ – Alf
, sen bu bir daha denemeye Bunu duyduğuma üzüldüm isteyebilirsiniz ne olursa olsun ana bilgisayardan kütüphane. Seni haberdar ederim. – hennr
sayesinde, kesinlikle bir deneyin verecektir: – Alf