Могу ли я распространять JDK вместе с моим приложением?

Я работаю над приложением под названием Наложение чар. Приложение, основанное на Scratch, создает исходный код Java и компилирует его для загрузки на роботов LEGO Mindstorms NXT.

Хотя приложение очень раннее, пользователям трудно его установить.

Сейчас пользователям Windows необходимо:

  • скачать и установить комплект разработчика Java
  • скачайте и установите LeJOS (java-библиотека для NXT)
  • возможно настроить переменные окружения
  • затем они могут загрузить, установить и запустить сам Enchanting

Если бы я мог предоставить установщик, который включал бы JDK и LeJOS, я мог бы выяснить переменные среды во время выполнения, и процесс стал бы таким:

  • Скачайте, установите и запустите Enchanting

Есть ли способ распространять JDK?

(Между прочим, Processing (упрощенная текстовая среда программирования), по-видимому, предлагает версию, поставляемую с JDK, поэтому что есть законный способ сделать это).

Дополнение: я бы хотел, чтобы пользователь Windows, у которого не установлена ​​Java, мог запустить один файл .exe для установки JDK, LeJOS и Enchanting.


person Clinton Blackmore    schedule 09.11.2010    source источник
comment
Да, JDK можно свободно распространять. Как вы это сделаете, зависит от вашей среды и реализации   -  person Rafe Kettler    schedule 09.11.2010


Ответы (4)


Информация о повторном распространении находится здесь для Java 10 JDK. и здесь для Java 8 JDK. В настоящее время Java 8 значительно более детализирована, чем Java 10.

и вы можете использовать PackJacket, чтобы упаковать все необходимые файлы и создать программу установки.

person Eternal Noob    schedule 09.11.2010
comment
Я, наконец, попробовал это - хотя я сказал, что требуется JDK, и он дает мне .exe, как только он запускается, он запрашивает JRE, чтобы он мог запустить установщик. Это несколько расстраивает — какой смысл создавать .exe для установщика, если он собирается запросить Java для его запуска? (Я думал, что он распаковывает JDK, запускает Java, устанавливает мое программное обеспечение и оставляет JDK с ним.) - person Clinton Blackmore; 08.01.2011

Предполагая, что вы выполняете все юридические условия, необходимые для распространения материалов, вы можете использовать izpack для установки всех необходимых компонентов, включая JDK/JVM и настройка переменных окружения.

person Mark Elliot    schedule 09.11.2010

Многие инструменты на базе IBM Eclipse имеют JDK.

person drekka    schedule 09.11.2010

Или вы можете просто передать байт-код напрямую. Вы можете связать гораздо меньший (чем JDK) динамический язык JVM, а затем использовать его для компиляции в байт-код или использовать библиотеки, созданные для этой цели.

(Я получил следующее на странице Проекты, использующие Kawa)

App Inventor для Android использует Kawa для перевода языка визуальных блоков.

...Компилятор Nice (nicec) использует gnu.expr и gnu.bytecode для создания байт-кода Java. ...

Именно этот последний использует языковую среду Kawa для генерации байт-кода.

Не забывайте о Groovy, Jython, Clojure и Ruby. Интересный факт о Groovy: интерпретатор может компилировать код Java, поскольку Groovy является (более или менее) надмножеством Java.

person Allen    schedule 09.11.2010