it-swarm.com.ru

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

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

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

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



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

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

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

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

7
rarchibald

Если вы используете подключаемый модуль maven Assembly и хотите создать исполняемый файл 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 Assembly

6
myrho

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

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

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

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

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

5
kv.

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

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

Решено :)

4
SMUsamaShah

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

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

2
John Ellinwood

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

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

1
Xaerxess

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

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

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

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

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

Правка: Пожалуйста, смотрите мой другой ответ. Это легче.

1
ivan_ivanovich_ivanoff

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

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

1
marktucks

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

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

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

1
Jeff

Принудительное принудительное создание пакета с помощью NetBeans IDE 8.0.2 ...

  1. В Навигаторе проектов разверните <project> и щелкните правой кнопкой мыши Файлы проекта/pom.xml.
  2. Нажмите Run Maven/Цели
  3. Введите «пакет» в поле «Цели»
  4. Нажмите ОК

Окно вывода покажет (на Mac) ...

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

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

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

Интересная информация может быть здесь:

http://wiki.netbeans.org/FaqNoMainClass

0
java.is.for.desktop

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

Отредактируйте nbproject/project.properties и добавьте запись :

manifest.file=manifest.mf

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

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

Работает. Проверено.

0
ivan_ivanovich_ivanoff

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

0
vuongluis

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

0
Samuel Ventura

Другой подход полностью заключается в разработке, запуске модульных тестов и т.д. В NetBeans, но затем с использованием сценария maven или ant для создания «реальной» сборки. Кажется, что эти виды инструментов сборки дают вам больше контроля над тем, как все строится, а также позволяют автоматизировать сборки.

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

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

0
James Kingsbery

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

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

0
Rogier