Выполнение Java-приложения из файла Jar или Batch - PullRequest
0 голосов
/ 07 октября 2011

У меня есть приложение Java и файл компоновки, среди которых одна задача - создать файл jar из приложения, а другая - запустить приложение.

<!-- ===== Create An Executable Jar target ======-->
<target name="jar-task" depends="compile-task">
    <mkdir dir="${jar.dir}"/>
    <jar destfile="jar/Guix.jar" basedir="${gui_bin.dir}">
        <fileset dir="${basedir}">
            <include name="img/**/" />
            </fileset>
            <manifest>
                <attribute name="Main-Class" value="sys.deep.cepu.Start"/>
            </manifest>
            <filelist dir="${basedir}" files="user.properties"/>
    </jar>
</target>

<!-- 
    ============ Run target =================== 
    -->
<target name="run-task" depends="jar-task">
      <java classpath="${basedir};jar/Guix.jar;CK-DASP-2.0.0.jar;library/*;user.properties;img/* " classname="sys.deep.cepu.Start" fork="true">
    </java>
</target>

Файл компоновки работает отлично,банка создана, и приложение работает.Я хотел бы разрешить пользователю запускать приложение, нажав на один файл (JAR или пакетный файл).Я пытался нажать на сгенерированный исполняемый файл JAR, но ничего не происходит.Это нормально?Может кто-нибудь дать мне помощь в том, как выполнить программу из этого jar или из командного файла?Спасибо!

Ответы [ 3 ]

3 голосов
/ 07 октября 2011

Да, это нормально. Вы должны запустить его из командной строки или через пакетный скрипт. Попробуйте использовать в качестве пакетного сценария (если у вас есть MANIFEST.MF), добавленный к вашему банку.

java -ea -jar Application.jar <Parameters>

или иначе:

java -cp jar-file packageOfMainClass.MainClass
1 голос
/ 07 октября 2011

При сборке файла JAR вы уже указываете Main-Class. Но вы не указали необходимые библиотеки в файле манифеста, только в файле ant при запуске приложения.

Запишите еще один атрибут манифеста в файл ant. name должно быть Class-Path, значение пробел разделенный список библиотек. Посмотрите здесь (Википедия) для примера.

После этого ваше приложение должно запускаться при вводе

java -jar Guix.jar

Затем выполните шаг, описанный в этом вопросе , чтобы сделать его запускаемым с помощью двойного щелчка.

0 голосов
/ 07 октября 2011

Альтернативные способы запуска jar-файла

  1. java -jar jar-file

  2. java -cp jar-file MainClassNameFullyQualified

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