Java использует системные библиотеки Linux.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java использует системные библиотеки Linux.

Сообщение Anonymous »

Я столкнулся со следующей проблемой:
При использовании Java 8 + Spring у меня есть следующий код:

Код: Выделить всё

@SpringBootApplication
public class Main {
public static void main(String[] args) {
SpringApplication.run(Main.class, args);
SecurityUtilsBase.extractNativeLibraries("/usr/lib");
}
}
и

Код: Выделить всё

@PostMapping("/decrypt")
public String decrypt(@RequestParam String value) {
try {
TestCrypt crypt = new TestCrypt();
return crypt.cypher_Damo_Decrypt_B64(value);
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
Загрузка библиотеки в TestCrypt:

Код: Выделить всё

static {
try {
System.out.println("Before System.loadLibrary..");
System.loadLibrary("testcryptjni");
} catch (UnsatisfiedLinkError var1) {
System.out.println("libmascryptjni.so load error " + var1);
}
}
В этом случае контроллер вообще не работает, и программа немедленно останавливается без какого-либо сообщения об ошибке.
Когда я изменяю основной метод и вызываю его один раз раньше, вот так:

Код: Выделить всё

@SpringBootApplication
public class Main {
public static void main(String[] args) {
SpringApplication.run(Main.class, args);
SecurityUtilsBase.extractNativeLibraries("/usr/lib");
TestCrypt crypt = new TestCrypt();
System.out.println(crypt.cypher_Damo_Decrypt_B64("0hKybskMef8voU8QHxQhww=="));
}
}
Тогда контроллер работает нормально. Я подозреваю, что это связано с механизмом очистки ресурсов Java.
В Java 11 эта библиотека не может работать. Почему это?

Подробнее здесь: https://stackoverflow.com/questions/790 ... s-of-linux
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»