Создание исполняемого банку в 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.)
Ответы
Ответ 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
Решено:)
Ответ 5
Вы очистили проект и перестроили? Звучит так, будто вы делаете все правильно. Имеет несколько ссылок на всякий случай:
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
Ответ 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
Работает. Испытано.
Ответ 14
Интересная информация может быть здесь:
http://wiki.netbeans.org/FaqNoMainClass
Ответ 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. Готово.