Как сделать excutable для моего Java-приложения с JDeveloper - PullRequest
0 голосов
/ 18 апреля 2011

Я хочу создать исполняемый файл для моего проекта Java, в прошлый раз я делал это с помощью Jbuilder или netbean, как я помню, но я не знаю, как мне сделать это в JDeveloper, чтобы создать исполняемый файл (EXE-файл)

пожалуйста, посоветуйте мне, пожалуйста, опишите четко ...

РЕДАКТИРОВАТЬ: Это просто настольное приложение. Это не веб-приложение ....

РЕДАКТИРОВАТЬ2: я удаляю эту часть для проверки аргумента изапустить мою программу я сталкиваюсь с этой проблемой: что мне делать?

Executing: C:\JDeveloper\mywork\SourceManagmentTools\Client\deploy\SMT.exe
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: oracle/jdeveloper/layout/VerticalFlowLayout
    at Main.GUI.SmMainFrame.<init>(SmMainFrame.java:134)
    at Main.GUI.SmRun.<init>(SmRun.java:25)
    at Main.GUI.SmRun$1.run(SmRun.java:82)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: oracle.jdeveloper.layout.VerticalFlowLayout
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 17 more

Ответы [ 3 ]

1 голос
/ 18 апреля 2011

Рассматривали ли вы Launch4j ?

Что касается вашей проблемы с конфигурацией, документация Launch4J говорит:

Дополнительные параметры JVM во время выполнения

При создании оболочки или программы запуска все детали конфигурации скомпилированы в исполняемый файл и не может быть изменилось без воссоздания или взлом с помощью редактора ресурсов. Launch4j 2.1.2 представляет новый особенность, позволяющая пропускать дополнительные Параметры JVM во время выполнения от Файл .l4j.ini. Теперь вы можете указать параметры в файле конфигурации, ini файл или в обоих, но вы не можете переопределить их. Имя файла INI должен соответствовать исполняемому файлу (myapp.exe: myapp.l4j.ini). аргументы должны быть разделены пробелы или новые строки, среда расширение переменной поддерживается, для Пример:

# Launch4j runtime config
-Dswing.aatext=true
-Dsomevar="%SOMEVAR%"
-Xms16m

Другие альтернативы, которые вы можете рассмотреть: JSmooth , WinRun4J .

0 голосов
/ 19 апреля 2011

это так просто, ребята ... Я решил свою проблему таким образом ... самым простым способом ....

прежде всего проверьте версию java, установленную на вашем клиентском компьютере, вы проверяете эту команду в CMD: Java-версия

после того, как вы убедитесь, что у вас есть Java-версия, вам нужно создать bat-файл. [конфликт в версии может привести к нулю, кроме] после этого вы должны знать, какой внешний пакет вы использовали в этом проекте ... например, я использовал 1 файл для подключения к базе данных oracle "ojdbc14", а другой для GUI, после чего вы можете просто запустите вашу программу или даже передайте им параметр, просто упомянув их в конце имени запускаемого класса:

java -client -classpath ojdbc14.jar;lipstikLF-1.1.jar;swing-layout.jar;smt.jar Main.GUI.SmRun rimrim

Полагаю, те библиотеки, которые мы использовали в нашем проекте, тоже должны быть запущены, но я не уверен, я просто предлагаю эту работу

java -client -classpath <name of you library>;<name of you library>;<name of your jar file> nameOfPackage.nameOfRunClass parameter[if any]

Буду очень признателен, если кто-нибудь добавит полезную информацию к этому сообщению

0 голосов
/ 18 апреля 2011

Если ваше настольное приложение имеет графический интерфейс, и вы можете распространять его с сайта, посмотрите Java Web Start .

JWS предоставляет возможность установки «одним щелчком» для конечного пользователя, автоматические обновления, интеграцию с рабочим столом, заставки и многое другое.Он является частью стандартного дистрибутива Java (1) (начиная с 1.4.2) и поддерживается Oracle.


(1) JWS работает со стандартными файлами Jar - exe не требуется, что означает, что он будетработа на * nix & Mac.

...