Подтвердить что ты не робот

Создание исполняемого банку в NetBeans

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

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

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



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

EDIT: да, я попробовал очистить и перестроить, и он создал банку в папке dist, все еще с тем же manifest.mf

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

Ответ 1

У меня была такая же проблема в NetBeans 7.2.1 с проектом Maven Java Application. Измените файл pom.xml, чтобы включить maven assembly plugin с одной настройкой на ответ 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. Выберите "Файл" → "Свойства проекта" → "Сборка → " и установите флажок "Копировать зависимые библиотеки".

Ответ 2

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

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

Источник: Использование плагина сборки Maven

Ответ 3

Попробуйте следующее:

  • Щелкните правой кнопкой мыши ваш проект на панели "Проекты", выберите "Свойства"

  • Нажмите "Запустить" в новом окне.

  • Отредактируйте поле "Основной класс:" (нажмите "Обзор" ).

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

Ответ 4

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

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

Решено:)

Ответ 6

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

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

Ответ 7

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

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

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

Ответ 8

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

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

Ответ 9

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

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

Итак, просто создайте проект "Java Application", а затем слейте все классы.

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

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

РЕДАКТИРОВАТЬ: См. мой другой ответ. Это проще.

Ответ 10

Как ни странно, он должен делать это из коробки, включая путь к классам.

Вы обновили предыдущую версию? При обновлении NB обновляет файлы проекта, но иногда эта миграция не выполняется хорошо, и этот сценарий появляется. Просто закройте проект, переименуйте каталог nbproject в nbproject_old и выполните новый проект → проект Java с существующими источниками. Снова установите основной класс и добавьте зависимости и повторите попытку.

Ответ 11

Другим подходом является разработка, запуск модульных тестов и т.д. в NetBeans, но затем использование maven или ant script для создания вашей "реальной" сборки. Похоже, что такие инструменты построения дают вам больше контроля над тем, как все построено, а также позволяет автоматизировать сборку.

Для maven вы можете легко добавлять записи в манифест, используя плагин maven jar:

http://maven.apache.org/plugins/maven-jar-plugin/

Ответ 12

Откройте представление "Файлы". Создайте файл manifest.mf в корневом каталоге.

/project_folder
    build.xml
    manifest.mf(edit here)
    /dist
    /src
    /test
    /build

Ответ 13

Лучшее решение:

Измените nbproject/project.properties и добавьте запись:

manifest.file=manifest.mf

manifest.mf должен находиться в корне проекта и содержать только:

Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build

Работает. Испытано.

Ответ 15

В разделе 7.3 просто добавьте атрибуты Properties/Build/Package/Copy Dependent Libraries и основной класс (в зависимости от выбранной цели), которые будут добавлены в манифест при создании.

Ответ 16

Чтобы вручную создать пакет с помощью среды NetBeans 8.0.2...

  • В навигаторе проекта разверните проект <project> и щелкните правой кнопкой мыши Project Files/pom.xml
  • Нажмите Run Maven/Goals
  • Введите "пакет" в поле "Цели".
  • Нажмите "ОК"

Окно вывода будет показано (на Mac)...

Building jar: /Users/<username>/NetBeansProjects/<project>/target/<project>-1.0-SNAPSHOT.jar

Ответ 17

Хорошо с neatbean вы можете сделать следующие шаги ниже: 1. Щелкните правой кнопкой мыши проект имени выберите элемент Установить конфигурацию и выберите Настроить
2. Выберите Выполнить и обратите внимание на Основной класс
3. Выберите Обзор и задайте класс, если вы хотите запустить. После того, как вы нажмете ОК.
4. Готово.