Создание исполняемого фляги в NetBeans - PullRequest
19 голосов
/ 02 марта 2009

Я использую NetBeans 6.5 и по какой-то причине он не будет производить исполняемый файл "из коробки".

Я установил свой проект в качестве основного проекта, определил основной класс в меню «Выполнить» свойств проекта, и он работает безупречно, когда я нажимаю клавишу F6 для его запуска.

Я посмотрел файл манифеста, и он действительно не определил там основной класс, а также опустил зависимости библиотеки.



Я что-то пропустил? Есть ли способ (кроме изменения файла манифеста вручную) для создания исполняемых файлов JAR?

РЕДАКТИРОВАТЬ: да, я попытался очистить и перестроить, и он произвел jar в папке dist, все еще с тем же манифестом.mf

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 10.0-b23 (Sun Microsystems Inc.)

Ответы [ 17 ]

7 голосов
/ 26 января 2013

У меня только что была такая же проблема в NetBeans 7.2.1 с проектом приложения Java Maven. Измените файл pom.xml, включив в него подключаемый модуль maven с одним изменением ответа myrho (необходимо сослаться на предопределенный дескриптор "jar-with-dependencies"):

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>your.app.MainClass</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Альтернативным методом является создание проекта Java-приложения в NetBeans, в котором не используется Maven. Выберите «Файл» -> «Свойства проекта» -> «Сборка» -> «Упаковка» и установите флажок «Копировать зависимые библиотеки».

6 голосов
/ 14 января 2013

Если вы используете плагин сборки maven и хотите создать исполняемый файл jar с зависимостями, вам нужно добавить эту часть в конфигурацию раздела maven-assembly-plugin в вашем файле pom.xml:

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <configuration>
    <!-- ... -->
    <archive>
      <manifest>
        <mainClass>your.app.SampleClass</mainClass>
      </manifest>
    </archive>
  </configuration>
</plugin>

Источник: Использование подключаемого модуля Maven

5 голосов
/ 13 октября 2009

Попробуйте это:

  1. Щелкните правой кнопкой мыши свой проект на панели «Проекты», выберите «Свойства»

  2. Нажмите «Выполнить» в новом окне.

  3. Измените поле «Основной класс:» (нажмите на Обзор).

Таким образом, вы выберете основной класс, который является точкой входа в ваше приложение, и Манифест будет создан правильно.

4 голосов
/ 18 октября 2010

Очень просто, файлы .jar и .jad находятся в папке dist

Я также искал ответ и получил его от http://forums.netbeans.org/ptopic3465.html

Решено:)

2 голосов
/ 02 марта 2009

Вы очистили проект и перестроили? Похоже, вы делаете это правильно. Вот некоторые ссылки на всякий случай:

http://www.velocityreviews.com/forums/t141385-how-to-create-executable-jar-in-netbeans-ide.html http://dr.berkeley.edu/REM/wiki/index.php/Making_a_Java_executable_jar_in_Netbeans

1 голос
/ 29 сентября 2009

У меня был опыт, что процесс сборки отличается, в зависимости от типа проекта.

Полагаю, вы создали проект "Библиотека классов Java".

Так что просто создайте проект "Java Application", а затем объедините все классы с ним.

Тогда Netbeans не переопределит, а увеличит "manifest.mf" в JAR.

Конечно, это глупая ошибка Netbeans. Конечно, должно быть возможно добавить основной классы потом.

РЕДАКТИРОВАТЬ: Пожалуйста, смотрите мой другой ответ. Это проще.

1 голос
/ 22 сентября 2009

Может быть, вы создали Java-проект с существующими источниками вместо Java-приложения ?

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

1 голос
/ 24 июля 2009

Я действительно наткнулся на эту страницу после того, как столкнулся с той же проблемой, я отредактировал файл manifest.mf, но изменения не были показаны в файле jar MANIFEST.MF. Я нашел проблему, с которой столкнулся, и подумал, что передам информацию на всякий случай.

Что я делал неправильно, так это то, что у меня не было проекта, над которым я работал, в качестве основного проекта, поэтому, когда я редактировал правильный манифест, я компилировал неправильный проект.

Итак, я полагаю, что краткую историю вы проверили и проверили, правильно ли вы выбрали проект для файла manifest.mf, который вы редактируете?

1 голос
/ 12 марта 2009

Если вы очищаете и собираете свой проект, он должен создать jar в каталоге dist.

Он должен создать manifest.mf на верхнем уровне каталога вашего проекта.

0 голосов
/ 20 апреля 2013

В 7.3 просто включите Свойства / Сборка / Пакет / Копирование Зависимые библиотеки, и основной класс (в зависимости от выбранной цели) будет добавлен в манифест при сборке.

...