【问题标题】:Detect OS and Java on Windows and Linux在 Windows 和 Linux 上检测操作系统和 Java
【发布时间】:2013-08-02 10:55:13
【问题描述】:

我有一个基于 Maven 的 JavaFX 项目。我想在 Windows 和 Linux 上构建 Maven 项目。为了在部署捆绑包时自动化该过程,我想自动检测操作系统。

在 windows 中我有这个配置:

              <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <compilerArguments>
                        <bootclasspath>${sun.boot.class.path}${path.separator}${java.home}/lib/jfxrt.jar</bootclasspath>
                    </compilerArguments>
                </configuration>
            </plugin>

但在 Linux 上我有这样的配置:

          <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <compilerArguments>
                        <bootclasspath>/opt/java/lib/jfxrt.jar</bootclasspath>
                    </compilerArguments>
                </configuration>
            </plugin>

我可以根据部署捆绑包的操作系统以某种方式设置 Java 使用吗?

【问题讨论】:

    标签: maven build javafx maven-3


    【解决方案1】:

    您可以将profiles 用于以下目的:

    <profiles>
      <profile>
        <activation>
          <os>
            <name>Windows XP</name>
            <family>Windows</family>
            <arch>x86</arch>
            <version>5.1.2600</version>
          </os>
        </activation>
        ...
      </profile>
    </profiles>
    

    【讨论】:

    • 是否需要手动设置,否则操作系统会在应用程序启动时选择合适的。
    • 操作系统检测是自动完成的。您可以看到,如果您在输出的最后一个mvn --version,您会看到您的操作系统上的值。
    猜你喜欢
    • 2012-02-05
    • 2012-11-07
    • 2014-09-09
    • 2011-07-08
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 2011-01-13
    • 2012-03-22
    相关资源
    最近更新 更多