Можно ли заставить 64-битную JVM использовать 32-битный режим через аргумент "-d32"? - PullRequest
14 голосов
/ 04 декабря 2011

, поэтому у меня есть какая-то сторонняя нативная библиотека, которая работает только в 32-битной JVM для Windows, OSX, Linux, и мне нужно всегда принудительно запускать Java-приложение для работы в 32-битном режиме JVM.

А если в целевой системе установлена ​​только 64-битная JVM, можно ли заставить ее запускать приложение java в 32-битном режиме?

Ответы [ 3 ]

15 голосов
/ 04 декабря 2011

Нет.

Указанные вами предварительные условия запрещают (хорошо, я не допускаю, чтобы решение bundle-the-JVM и install-the-JVM) запускало приложение в 32-битной JRE.Если вы хотите запустить свое приложение в 32-битной JVM, а сторонняя нативная библиотека доступна только как 32-битная DLL, тогда вы должны использовать 32-битную JVM.64-разрядная JVM не может загрузить 32-разрядную библиотеку;32-битный режим для загрузки таких библиотек отсутствует.

Решения включают в себя:

  • Требуется установить 32-битную JVM
  • Объединить 32-битную версиюJVM (три ОС - это будет довольно большой нагрузкой)
  • Установить 32-разрядную JVM для пользователя
  • Использовать другую стороннюю библиотеку / свернуть свою собственную / найти 64версия сторонней библиотеки
11 голосов
/ 09 декабря 2013

С Java 6 нет.С Java 7+, да.

Использовать -d32 с Java 7

1 голос
/ 04 декабря 2011

возможно заставить 64-битную JVM использовать 32-битный режим через аргумент «-d32»?

Поскольку такого аргумента для команды java нет,Ответ, очевидно, «нет».

...