У меня есть Java-программа, которая преобразуется как исполняемый jar. Можно ли запустить банку на Linux-машине, где Java недоступен? I. машина, у которой нет Java.Запуск Java без JVM в среде Linux
ответ
Попробуйте этот компилятор. https://en.wikipedia.org/wiki/GNU_Compiler_for_Java
ГНУ компилятор для Java (GCJ) является свободным компилятор для языка программирования Java и часть GNU Compiler Collection
Прежде чем вы это сделаете, см. [Является ли компилятор GNU Java GCJ мертвым?] (Http://stackoverflow.com/questions/4035538/is-gnus-java-compiler-gcj-dead/4040404#4040404) Также на странице [GCJ News ] (http://gcc.gnu.org/java/), который не обновлялся с 2009 года. – EJP
Если ваше приложение не делает использование новейших стандартов языка Java вы можете используйте gcj для создания двоичного файла. Но, пожалуйста, подумайте, что gcj - довольно старый продукт, который не обновлялся годами. Поддержка новых версий Java отсутствует, то project page состояния:
... была объединена с GNU Classpath и поддерживает большинство 1.4 библиотек плюс некоторые дополнения 1.5.
Код, созданный gcj, может быть значительно медленнее, чем код, выполняемый под Javascript Hotspot, и создает довольно большие двоичные файлы при статистической компоновке.
Другой вариант - связать Jre и вашу банку с исполняемым файлом. Для этой задачи существует несколько программ, один из них - launch4j (http://launch4j.sourceforge.net).
Вы также можете предоставить Java самостоятельно, так как он не должен быть установлен и может быть помещен в тот же каталог, что и ваша банка. Если вы используете Oracles JRE, проверьте Eula, если это разрешено связывать его таким образом. Если нет, вы можете использовать OpenJdk.
В Java 8 вы можете создать так называемые «автономные пакеты» для Windows/Linux/Mac, которые на самом деле являются приложениями Java в комплекте с JRE. чтение
Будущее:
https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html
https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/packager.html
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javapackager.html
Также может быть стоит упомянуть загодя (АОТ) Java компиляторы, такие как Excelsior JET: http://www.excelsiorjet.com/
Я думаю, что самодостаточные пакеты - лучший вариант: стандартный, без затрат и делает работу. Кроме того, вам не нужен источник, он работает на JAR – Marged
'javapackager' был доступен в Java 7, но он назывался' javafxpackager'. –
Вот пример 'javapackager': http://stackoverflow.com/a/34253042/597657 –
- 1. Запуск файла Jar в среде без Java
- 2. Запуск внешнего кода в ограниченной среде (linux)
- 3. запуск java-программы в linux
- 4. Процесс JVM и Java Linux
- 5. Java без JVM
- 6. Запуск Java в среде использования рабочего пространства?
- 7. Запуск java-кода в нескольких экземплярах jvm
- 8. Запуск java 1.5 скомпилированной программы в среде java 7
- 9. JVM авария на солнечной среде
- 10. Запуск Android UI в JVM
- 11. Запуск кода java внутри его собственного JVM
- 12. Как ускорить запуск Java VM (JVM)?
- 13. Запуск потоков Java на другом сервере/JVM
- 14. pyqt4 в среде Linux
- 15. C# в среде linux
- 16. Запуск JVM из другой JVM - Плохая идея избежать дублирования кода?
- 17. Запуск java jars под linux
- 18. запуск java на сервере linux
- 19. Запуск службы linux от Java
- 20. Запуск команд Linux через java
- 21. Запуск jar, созданный на Java 7 в среде Java 6
- 22. Запуск сценария bash из JVM
- 23. Запуск Java-класса под Linux-терминалом
- 24. Запуск нескольких JVM
- 25. Запуск цели в отдельной JVM
- 26. Запуск огурца-jvm в Jenkins
- 27. Запуск java-приложений в chroot ** без **/proc установлен
- 28. Возможны скриншоты в безголовой среде Linux?
- 29. Java Maven Tomcat7: запуск java-памяти для jvm
- 30. Запуск Windows-программ в Linux
Вы можете захотеть связать JVM с JAR. Это будет около 80 МБ, но есть много инструментов, чтобы сделать его очень легким. –
why.do.you.put.periods всюду? –