带有Maven的单个依赖于多平台OS的jar

时间:2018-12-10 11:20:05

标签: java maven

对此有很多封闭的问题,但没有一个得到解决或过时/过时。

问题:

我需要/很想在运行时构建单一多平台JAR OS依赖。有问题的依赖关系是SWT。到目前为止,我一直使用以下命令:http://mchr3k.github.io/swtjar/,但是由于Java 9删除了此处使用的某些方法,因此这不是可行的面向未来的选项。

我尝试使用配置文件,但这仅对不同的jar有效,这取决于您在哪里构建程序。我实际上使用maven-assembly-plugin来构建jar,但这与swt之类的库的OS相关性没有关系

约束: 我更愿意使用Maven来实现这一点,但是如果我必须回去蚂蚁,我会很乐意这样做。

我现在的个人资料:

<profiles>
    <profile>
        <id>swt-unix</id>
        <activation>
            <os>
                <family>unix</family>
            </os>
        </activation>
        <properties>
            <swt.artifactId>org.eclipse.swt.gtk.linux.x86_64</swt.artifactId>
            <env>linux</env>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.eclipse.platform</groupId>
                <artifactId>org.eclipse.swt.gtk.linux.x86_64</artifactId>
                <version>3.108.0</version>
                <optional>true</optional>
                <exclusions>
                    <exclusion>
                        <groupId>org.eclipse.platform</groupId>
                        <artifactId>org.eclipse.swt</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    </profile>

    <profile>
        <id>swt-windows</id>
        <activation>
            <os>
                <family>windows</family>
            </os>
        </activation>
        <properties>
            <swt.artifactId>org.eclipse.swt.win32.win32.x86_64</swt.artifactId>
            <env>windows</env>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.eclipse.platform</groupId>
                <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
                <version>3.108.0</version>
                <optional>true</optional>
                <exclusions>
                    <exclusion>
                        <groupId>org.eclipse.platform</groupId>
                        <artifactId>org.eclipse.swt</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    </profile>
</profiles>

欢迎所有帮助!

0 个答案:

没有答案