запуск Java приложений как exe файлы

    Сегодня я расскажу, как запускать java приложения в виде exe файлов.
    Как известно java приложения поставляются в виде jar файлов, которые не являются исполняемыми файлами, а представляют собой специальные файлы с набором инструкций для виртуальной Java машины.
    Но не об этом речь. В первую очерь зачем это нужно. Я столкнулся с этой необходимостью, когда использовал любимый редактор jEdit. Захотелось связать php файлы c данным редактором, однако связать с jar файлом не представляется возможным. Также необходимость возникает, когда нужно привязать какую-либо программу с контекстным меню или, например, вызывать редактор как стандартный редактор в браузере.



    Решение:
    1. Качаем программу Janel
    2. Распаковываем JanelWindows.exe, JanelWindows.lap, msvcr71.dll в C:\Program Files\Janel\
    3. Переименовываем
      JanelWindows.exe в ИМЯ_ВАШЕГО_ПРИЛОЖЕНИЯ.exe,
      JanelWindows.lap в ИМЯ_ВАШЕГО_ПРИЛОЖЕНИЯ.lap
    4. Редактируем lap файл:
      • в -Djava.class.path прописываем путь к jar файлу
      • в janel.main.class название основного класса
      • в janel.main.argument агрумент вызова

      На примере jEdit:
      -Djava.class.path=C:\Program Files (x86)\jEdit\jedit.jar
      janel.main.class=org.gjt.sp.jedit.jEdit
      janel.main.argument=-reuseview

    5. готово, в качестве exe файла используем ИМЯ_ВАШЕГО_ПРИЛОЖЕНИЯ.exe


    Если необходимо привязать несколько exe приложений, просто скопируйте JanelWindows.exe и JanelWindows.lap, и настройте отдельно.

    janel
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 17

      0
      А можно это же самое, но под Линукс?
        0
        когда писал статью, подумал, что стоит указать что это под windows.
        Затем подумал, какой пред писать это, когда exe файлы, да и вообще у линуксойдов все схвачено, наверняка их умеляют такие решения))
        Оказалось, что нет.
        А если по теме, то программа в исходниках поставляется, думаю как вариант — портировать
          0
          Собственно, решение есть в виде враппера на шелл-скрипте, но хотелось бы обычный бинарник.
            0
            Под линуксом есть в ядре такая вещь, как binfmt_misc. Позволяет запускать любые бинарники (к сигнатуре бинарника привязывается интерпритатор).
            Через эту технологию можно запускать как Java (классы и JAR-ы), так и виндовые EXE.
            Читать здесь: www.linuxhq.com/java.html
              0
              интерпрЕтатор, конечно :)
              0
              Или для эстетов есть GCJ, который умеет компилировать как в байткод, так и в native-бинари.
              А исходник java-программы при некотором желании получить всегда можно :)
              0
              На Windows обхожусь bat-файлом, в котором прописана единственная строчка:
              java -jar D:/path/to/jedit.jar %1
              а в Проводнике создаю ассоциации файлов с нужным мне типом расширений на этот bat-файл.

              На FreeBSD использую единожды диалог «Открыть с помощью другого приложения...»; набираю строчку:
              java -jar /path/to/jedit.jar
              и оболочка сама запоминает команду запуска для таких же файлов, никаких скриптов редактировать не нужно.
              +1
                0
                Спасибо, попробую.
                  0
                  Оно и под Линуксом генерирует только виндовые exe-шки :(.
                  –1
                  воспользуйтесь wine ;)
                    0
                    толсто :3
                    +1
                    Что мешает создать текстовый исполняемый файл с примерно следующим содержанием?
                    #!/bin/bash
                    java -jar abc.jar
                      0
                      Смотрите выше, вчера я упоминал о таком враппере.
                    0
                    Только что «допонял» пост. А что Вам помешало
                    1) запускать jar-файлы просто «даблкликом»? Они же ассоциируются с ява-машиной (по крайней мере после установки JRE)
                    2) прописать ассоциацию (если windows, то в реестре) на открытие PHP-файлов (как вирусы делают на exe) чтобы файлы с таким расширением уходили в что-то типа «java jEdit %1»?
                      +2
                      А какие прелести у этого приложения, по сравнению с банальным батником вида:
                      java.exe -jar asdf.jar

                      А то пока не видно, зачем оно нужно :(
                        0
                        А как насчёт компиляции в native executable?
                        GNU Compiler for Java

                        Only users with full accounts can post comments. Log in, please.