Как сделать мою программу, написанную на 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.

  1. Убедитесь, что у вас есть класс с методом begin (). Это класс, который вы запускаете внутри BlueJ, и теперь вы хотите превратить его в исполняемый файл JAR.

  2. Вам нужно создать новый класс, назовем его Main. Это должно выглядеть так:

    public class Main{
    
        public static void main(String[] args){
            ClassWithABeginMethod game = new ClassWithABeingMethod();
            game.begin();
        }
    
    }
    
  3. Теперь в BlueJ откройте выпадающее меню Project. Выберите "Создать файл Jar...".

  4. В открывшемся диалоговом окне: Убедитесь, что класс "Главный" выбран для параметра "Основной класс". В разделе "Включить пользовательские библиотеки" выберите "objectdraw.jar". Нажмите продолжить.

  5. В открывшемся диалоговом окне появится вопрос о том, где вы хотите сохранить новую папку, в которой будет содержаться ваш новый файл JAR. Назовите это, что вы хотели бы. Результатом будет новая папка с выбранным вами именем, содержащая файл JAR с тем же именем.

  6. Вы сделали Используйте командную строку: "java -jar jarFileName.jar", чтобы запустить новый файл jar.

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

  1. Если у вас есть несколько классов, создайте исполняемый файл jar. Если вы не хотите создавать jar, переместите весь свой код в один класс
  2. Затем создайте класс, который расширяет апплет. Вы можете загрузить свою программу из этого класса апплета или, что еще лучше, переместить все в класс апплета (не лучший дизайн, но в этом случае облегчающий вашу жизнь)
  3. Затем создайте 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, и вы снова скомпилируете их (поэтому мультиплатформенный)

Другие вопросы по тегам