Идеальная работа заключается в том, чтобы использовать Maven для определения всех зависимостей, которые вам нужны для всех операционных систем. Таким образом, ваш проект будет содержать все необходимые библиотеки для каждой операционной системы. А для использования в коде LIBS динамически, вы обнаруживаете ОСА программно с помощью инструкции:
System.getProperty("os.name")
И вы определяете цикл переключения или «если ряд», например, из ЛИЭСА вызова.
Вот пример, который можно редактировать:
public class OSValidator {
private static String OS = System.getProperty("os.name").toLowerCase();
public static void main(String[] args) {
System.out.println(OS);
if (isWindows()) {
System.out.println("This is Windows");
} else if (isMac()) {
System.out.println("This is Mac");
} else if (isUnix()) {
System.out.println("This is Unix or Linux");
} else if (isSolaris()) {
System.out.println("This is Solaris");
} else {
System.out.println("Your OS is not support!!");
}
}
public static boolean isWindows() {
return (OS.indexOf("win") >= 0);
}
public static boolean isMac() {
return (OS.indexOf("mac") >= 0);
}
public static boolean isUnix() {
return (OS.indexOf("nix") >= 0 || OS.indexOf("nux") >= 0 || OS.indexOf("aix") > 0);
}
public static boolean isSolaris() {
return (OS.indexOf("sunos") >= 0);
}
}
Это не ясно, что вы говорите здесь. Вы говорите о зависимостях времени компиляции/сборки или времени выполнения? И если вы не используете Maven, Gradle или Ant, какой инструмент сборки вы используете? –
Я говорю о зависимостях построения. Я не настолько опытен в инструментах построения, и могу выглядеть глупо, но мы используем стандартные инструменты eclipse, которые я думаю. –
Для простоты я отправил бы все DLL-файлы и выберет ту, которую вы хотите загрузить во время выполнения. Лично я бы избегал использования родных библиотек, если вам это действительно нужно. –