如何指定使用哪个基于操作系统的Java库?

如何指定使用哪个基于操作系统的Java库?,java,linux,windows,macos,cross-platform,Java,Linux,Windows,Macos,Cross Platform,我有一个应用程序需要使用6个不同的SWT库(适用于MacOSX 32和64位、Windows 32和64位以及Linux 32和64位的每个操作系统) 我所使用的应用程序我希望能够跨平台且具有相当的用户证明(如中所述,它应该尽可能少地要求用户输入以启动程序) 根据我处理的案例,有没有办法告诉应用程序“嘿,使用这个库” 差不多 if (Platform.isMac()){ if (Platform.is64Bit()) //Use Mac 64 bit Library else /

我有一个应用程序需要使用6个不同的SWT库(适用于MacOSX 32和64位、Windows 32和64位以及Linux 32和64位的每个操作系统)

我所使用的应用程序我希望能够跨平台且具有相当的用户证明(如中所述,它应该尽可能少地要求用户输入以启动程序)

根据我处理的案例,有没有办法告诉应用程序“嘿,使用这个库”

差不多

if (Platform.isMac()){
    if (Platform.is64Bit()) //Use Mac 64 bit Library
    else //Use Mac 32 Bit Library
//Same for Windows
//Same for Linux
可能吗

编辑
我知道如何确定操作系统。我只需要知道如何在运行时将特定的jar作为另一个库的依赖库加载(假设我有一个需要SWT的库,我需要能够根据我当前操作的操作系统告诉该库要加载哪个SWT.jar).

如果java程序使用特定于平台的依赖项,则应为其提供不同的启动脚本。保持简单。 您的脚本可以确定使用的jdk体系结构,并为其配置适当的类路径。
我从未遇到过java程序试图引导体系结构环境。这是因为它需要大量的efford,除了架构jni调用,而swt则不是这样

可能重复编号。我知道如何确定操作系统。我需要知道的是如何指定要加载哪个JAR。哦,糟糕,现在我知道你想要什么了。所以基本上你想要的是如何在运行时加载JAR/包。也许这能帮上忙?我认为您可以根据您的平台筛选条件,尝试为特定于平台的LIB创建单独的子类加载程序。您是否有可能提供一个示例或指向您所讨论内容的链接?例如,Apache Tomcat的启动脚本。您还可以尝试maven appassembler插件。