创建SWT Maven项目,而不必提供特定于平台的SWT二进制文件
我正在尝试构建一个(几乎)独立于平台的SWT Maven原型,用它来构建SWT应用程序。它应该根据平台自动下载所需的SWT库。这是我到目前为止的pom:创建SWT Maven项目,而不必提供特定于平台的SWT二进制文件,maven,swt,Maven,Swt,我正在尝试构建一个(几乎)独立于平台的SWT Maven原型,用它来构建SWT应用程序。它应该根据平台自动下载所需的SWT库。这是我到目前为止的pom: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.mackaz</groupId>
<artifactId>swttest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<swt.version>3.7</swt.version>
</properties>
<dependencies>
<dependency>
<groupId>${swt.groupId}</groupId>
<artifactId>${swt.artifactId}</artifactId>
<version>${swt.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<debug>true</debug>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>mac</id>
<activation>
<os>
<name>mac os x</name>
</os>
</activation>
<properties>
<swt.groupId>org.eclipse.swt.carbon</swt.groupId>
<swt.artifactId>macosx</swt.artifactId>
</properties>
</profile>
<profile>
<id>windows</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<properties>
<swt.groupId>org.eclipse.swt.win32.win32</swt.groupId>
<swt.artifactId>x86</swt.artifactId>
</properties>
</profile>
<profile>
<id>linux</id>
<activation>
<os>
<family>linux</family>
</os>
</activation>
<properties>
<swt.groupId>org.eclipse.swt.gtk.linux</swt.groupId>
<swt.artifactId>x86_64</swt.artifactId>
</properties>
</profile>
</profiles>
</project>
4.0.0
麦卡兹
(为什么?)。
因为我不想为所有平台提供SWT JAR以及我的原型,所以我想编写一个小脚本,自动下载正确的库
但现在我有了下一个问题:是否有可靠的来源可以下载特定于平台的SWT JAR?当试图从eclipse.org下载它们时,您不会得到任何永久和可靠的链接。
分发SWT Maven项目而不必提供特定于平台的SWT二进制文件的最佳实践是什么
编辑:
经过一些研究后,此问题的其他信息:
似乎有一个自3.4以来就存在的相关问题:
此外,还有一个Eclipse论坛条目,其中有人要求Maven回购:
我还发布了一个(相当多余的)论坛条目:
所以还没有解决方案(但我对其他解决方案持开放态度)在EclipseMaven存储库中没有SWT库。自3.4起存在相关(未解决)问题:
编辑:
很酷,至少现在有一个测试库已经包含了很多SWT库:
如果结构没有改变,可以编写客户端,然后与非测试Maven repo交换地址。从Eclipse4.6.2开始,SWT(以及所有Eclipse)将发布到Maven central。如果您使用的是Gradle,该插件有一个插件,使其非常简单:
apply plugin: 'com.diffplug.gradle.eclipse.mavencentral'
eclipseMavenCentral {
release '4.7.0', {
compile 'org.eclipse.swt'
useNativesForRunningPlatform()
}
}
我曾经尝试过这种方法,但从我的网站上看,没有可能的方法。我提供了特定于平台的库,可通过maven profile从特定文件夹手动构建。。