Экспорт NetBeans в Jar, включает все файлы библиотеки

What I really need это эквивалент из Eclipse с Netbeans:

enter image description here

я бы хотелExtract required libraries into generated JAR так что я могу распространять его без необходимости включать папку lib куда угодно.

Вот оригинальный вопрос.

Я пытаюсь сделать банку изNetbeans это упакует все библиотечные файлы внутри него. Я слышал, что это возможно с Eclipse, выбрав Export. С Netbeans, если я "Очистить и построить" он создаст исполняемый файл jar в папке dist, но все библиотеки, от которых он зависит, находятся в папке с именем lib. Мне нужно, чтобы все это было в одном фляге. Я думаю, это связано с файлом build.xml. Вот что говорит мой. Что я тут не так делаю?

Спасибо за помощь.

<code><?xml version="1.0" encoding="UTF-8"?>
<project name="BONotifier" default="default" basedir=".">
  <description>Builds, tests, and runs the project BONotifier.</description>
  <import file="nbproject/build-impl.xml"/>
  <target name="-post-jar">
    <jar jarfile="dist/Combined-dist.jar">
      <zipfileset src="${dist.jar}" excludes="META-INF/*" />
      <zipfileset src="lib/commons-io-1.4.jar" excludes="META-INF/*" />
      <manifest>
        <attribute name="Main-Class" value="controller.MainController"/>
      </manifest>
    </jar>
  </target>
</project>
</code>

Update: Приведенный выше код находится в build.xml. Следующее находится в build-impl.xml. Я предполагаю, что это означает, что build.xml запускается во время build-impl.xml.

<code><target name="-pre-init">
    <!-- Empty placeholder for easier customization. -->
    <!-- You can override this target in the ../build.xml file. -->
</target>
</code>

Note Я получил это от этогоФорум.

 kentcdodds08 мая 2012 г., 22:37
Пожалуйста, смотрите обновление.
 Paulius Matulionis08 мая 2012 г., 21:34
Попытайтесь добавить эту задачу jar в «nbproject / build-impl.xml», где находится задача создания jar.
 kentcdodds08 мая 2012 г., 23:07
Пожалуйста, смотрите обновление еще раз:)

Ответы на вопрос(4)

Решение Вопроса

эт решение, поскольку скачивать нечего, все основано на сборке Ant (~ 20 строк). Таким образом, нет никакой дополнительной зависимости, чтобы беспокоиться. Если у вас есть пара минут, вы тоже можете узнать об Ant.

Кажется, что ссылка на оригинальную статью не работает (спасибо Oracle). Вот еще одинссылк.

Оригинальная статья также доступна от Oracleссылк.

 user84527902 окт. 2012 г., 23:13
@ gnomed Я обновил ссылку, не стесняйтесь обновлять мой ответ, если вы можете перефразировать решение.
 kentcdodds09 мая 2012 г., 03:24
Работал как шарм. Благодарность :
 gnomed02 окт. 2012 г., 22:11
@ user845279 Эта ссылка сейчас не работает. Есть ли шанс исправить это или включить соответствующую информацию прямо в ваш ответ?

так что это мое решение. У меня тоже была проблема, моя программа компилировалась и работала на Netbeans, но она не работала, когда я пробовал Java -jar MyJarFile.jar Теперь я не до конца понимаю Maven, и я думаю, что по этой причине возникли проблемы с получением Netbeans 8.0.2 для включения моего jar файл в библиотеке, чтобы поместить их в файл JAR. Я думал о том, как я использовал файлы JAR без Maven в Eclipse.

Это Maven, который собирает все зависимости и плагины. Не Netbeans. (Если вы можете заставить Netbeans сделать это, пожалуйста, сообщите нам, как (^. ^) V)

[Решено - для Linux], открыв терминал.

Зате

cd / MyRootDirectoryForMyProject

Следующи

mvn org.apache.maven.plugins: maven-compiler-plugin: compile

Следующи

mvn установить

Это создаст файл JAR в целевой директории.

MyJarFile-1,0-банка-с-dependencies.jar

В настоящее врем

cd target

(Вам может потребоваться выполнить: chmod + x MyJarFile-1.0-jar-with-dependencies.jar) И, наконец,

java -jar MyJarFile-1.0-jar-with-dependencies.jar

Пожалуйста, посмотр

https: //cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundExceptio

Я опубликую это решение на нескольких других страницах с похожей проблемой. Надеюсь, я смогу спасти кого-нибудь от недели разочарования.

Откройте созданную банку с помощью 7zip (или других инструментов) Добавить библиотеку в папку Редактировать манифест, чтобы установить путь к классу

однако, использовать внешние инструменты для архивирования, например OneJar:

http: //one-jar.sourceforge.net

Ред .: Очевидно, именно так команда Netbeans ожидает, что вы это сделаете:http: //wiki.netbeans.org/PackagingADistributableJavaAp

 kentcdodds08 мая 2012 г., 22:56
Пожалуйста, смотрите обновление.
 bluehallu08 мая 2012 г., 23:22
Я вижу твое обновление. Я все еще рекомендую вам пойти на OneJar. Это гораздо более универсально, плюс, смотрите мое редактирование: 9

Ваш ответ на вопрос