Как сделать мою программу, написанную на Java, пригодной для использования другими людьми?
Поэтому я написал небольшую забавную программу и хочу показать ее некоторым своим друзьям. Мои друзья, не будучи программистами, понятия не имеют, что делать, если я отправлю им папку, содержащую необходимые классы и файлы. Я хочу иметь возможность отправить им по электронной почте что-нибудь (или поместить это на CD /thumbdrive), чтобы они могли затем дважды щелкнуть и запустить программу. Я понятия не имею, как это сделать. Я беру класс, и мы используем компьютеры Linux (я использую Mac, когда меня нет в классе), и мы должны javac-файлы.java, а затем java "File name", чтобы запустить его. У меня есть друзья на Mac и ПК, и я хочу, чтобы они могли просто щелкнуть программу и запустить ее....
Если это имеет значение, программа написана с использованием библиотеки рисования объектов.
4 ответа
Использовать jar
Команда для создания исполняемого файла JAR. Это в основном ZIP-файл с определенными гарантиями.
Внутри jar-файла вам понадобится (это требование) каталог /META-INF с файлом в нем, который называется манифестом (/META-INF/MANIFEST.MF). Он описывает "манифест" файла JAR, который в некотором роде смоделирован из манифеста доставки.
Внутри файла MANIFEST.MF вам нужна директива
Main-Class: org.mystuff.path.Main
Который должен указывать JVM запускать класс org.mystuff.path.Main, когда файл jar "исполняется" с помощью команды
java -jar myproject.jar
Обратите внимание, что файлы JAR имеют тенденцию обрабатывать пути к классам по-разному, в том смысле, что они игнорируют переменную среды CLASSPATH и параметры командной строки -classpath. Вам нужно добавить директиву classpath в файл MANIFEST.MF, если вам нужно сослаться на другие файлы JAR. Используйте ссылку на манифест выше, чтобы увидеть подробности встраивания пути к классам.
В зависимости от простоты "проекта", одного JAR-файла может быть достаточно для отправки к ним; однако, если вам нужно больше, вам может понадобиться отправить несколько файлов в несколько каталогов. В этом случае поместите файлы (включая файл JAR) и каталоги во второй zip-файл. Хотя вы можете выбрать один из нескольких способов "упаковать" предметы, я рекомендую
(layout inside the zip file)
/Readme.txt (a text file describing what to do for new comers)
/License.txt (a text file describing how liberal / restrictive you wish to be concerning your authorship rights.
(the license sounds like overkill, but without it nobody can prove they're not breaking the law)
/bin/myprogram.sh (shell script containing "java -jar ../lib/myprogram.jar")
/bin/myprogram.cmd (Windows batch file containing "java -jar ..\lib\myprogram.jar")
/lib/myprogram.jar (the executable jar file containing your compiled code)
/lib/otherjar.jar (other jar files, as necessary)
При такой структуре zip-файла, инструкции по установке становятся "распаковать zip-файл; изменить каталог на"bin"и запустить"myprogram.whwhat ".
Использование objectdraw для создания исполняемого файла JAR:
Обычно objectdraw используется с IDE BlueJ, поэтому эти инструкции предназначены для использования BlueJ и библиотеки objectdraw.
Убедитесь, что у вас есть класс с методом begin (). Это класс, который вы запускаете внутри BlueJ, и теперь вы хотите превратить его в исполняемый файл JAR.
Вам нужно создать новый класс, назовем его Main. Это должно выглядеть так:
public class Main{ public static void main(String[] args){ ClassWithABeginMethod game = new ClassWithABeingMethod(); game.begin(); } }
Теперь в BlueJ откройте выпадающее меню Project. Выберите "Создать файл Jar...".
В открывшемся диалоговом окне: Убедитесь, что класс "Главный" выбран для параметра "Основной класс". В разделе "Включить пользовательские библиотеки" выберите "objectdraw.jar". Нажмите продолжить.
В открывшемся диалоговом окне появится вопрос о том, где вы хотите сохранить новую папку, в которой будет содержаться ваш новый файл JAR. Назовите это, что вы хотели бы. Результатом будет новая папка с выбранным вами именем, содержащая файл JAR с тем же именем.
Вы сделали Используйте командную строку: "java -jar jarFileName.jar", чтобы запустить новый файл jar.
Я бы сказал, что используйте апплет, тогда нет необходимости запускать какие-либо команды. Вот что вы можете сделать
- Если у вас есть несколько классов, создайте исполняемый файл jar. Если вы не хотите создавать jar, переместите весь свой код в один класс
- Затем создайте класс, который расширяет апплет. Вы можете загрузить свою программу из этого класса апплета или, что еще лучше, переместить все в класс апплета (не лучший дизайн, но в этом случае облегчающий вашу жизнь)
Затем создайте html-файл примерно так: в этом html есть скрипт, который будет указывать, что делать для просмотра программы.
<script> var jEnabled = navigator.javaEnabled(); if (!jEnabled){ document.write("<a href=\"http://www.java.com/en/download/help/enable_browser.xml\">Enable Java</a> on your browser to view me "); } </script> <br><br> <applet code="AppletLauncher.class" width=100 height=140/>
Вы должны сообщить нам, какую IDE вы используете, но просто скомпилируйте ее в исполняемый файл jar, они работают на всех системах, имеющих версию java, и вы снова скомпилируете их (поэтому мультиплатформенный)