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

Как включить банки в lib в файл jar проекта в Netbeans?

Я использую некоторые apache httpClient jars, поэтому я помещаю их в каталог проекта lib, когда Netbeans компилирует проект, он копирует lib и генерирует jar проекта в каталог dist, но когда я запускаю свой проект с помощью webstart, Мне нужно скопировать проект jar и lib в каталог tomcat ROOT. Интересно, может ли Netbeans генерировать проектную банку, которая включает все банки в каталоге lib, поэтому мне не нужно копировать проект jar и lib dir в tomcat ROOT реж. Может ли Netbeans это сделать?

4b9b3361

Ответ 2

Это очень легко упаковать каждую зависимую библиотеку (*.jar) в один файл myProject.jar.

Просто выполните следующие действия, и вы, наконец, упакуете каждую зависимую библиотеку в одну банку. Если вы используете NetBeans, вы можете точно следовать, или вам нужно найти файл build.xml в файлах проекта.

Для редактирования build.xml

выполните следующие действия:

1) Нажмите на Files tab в левой части панели проекта в NetBeans.

2) Дважды щелкните файл build.xml и добавьте в него эти строки непосредственно перед </project> line

 <target name="package-for-store" depends="jar">
    <property name="store.jar.name" value="myProject"/>
    <property name="store.dir" value="store"/>
    <property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>
    <echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>
    <delete dir="${store.dir}"/>
    <mkdir dir="${store.dir}"/>
    <jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
        <zipgroupfileset dir="dist" includes="*.jar"/>
        <zipgroupfileset dir="dist/lib" includes="*.jar"/>
        <manifest>
            <attribute name="Main-Class" value="${main.class}"/>
        </manifest>
    </jar>
    <zip destfile="${store.jar}">
        <zipfileset src="${store.dir}/temp_final.jar"
        excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
    </zip>
    <delete file="${store.dir}/temp_final.jar"/>
</target>

3) Измените value во второй строке кода в соответствии с вашим именем проекта

<property name="store.jar.name" value="myProject"/> //<---Just value not name

4) Сохраните его и щелкните правой кнопкой мыши по build.xml и выберите Запустить цель, а затем Другие цели и, наконец, нажмите Пакет-для-магазина

5) И вот вы сделали. Теперь вы можете пойти и проверить, как в папке dist будет папка store, в которой будет содержаться ваша окончательная полная банка, включая все ваши зависимые библиотеки. Теперь, когда вы хотите изменить/добавить больше библиотек или просто, просто выполните шаг 4.

Изображение для шага 4

enter image description here

Ответ 3

Роберт Эккштейн описывает решение для этой проблемы. Вам просто нужно вставить следующий код в build.xml. Все библиотеки найдены автоматически.

Здесь мы идем:

<target name="-post-jar">

    <!-- Change the value to the name of the final jar without .jar -->
    <property name="store.jar.name" value="MyJarName"/>

    <!-- don't edit below this line -->
    <property name="store.dir" value="dist"/>
    <property name="temp.dir" value="temp"/>
    <property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>

    <echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>

    <delete dir="${temp.dir}"/>
    <mkdir dir="${temp.dir}"/>

    <jar destfile="${temp.dir}/temp_final.jar" filesetmanifest="skip">
        <zipgroupfileset dir="dist" includes="*.jar"/>
        <zipgroupfileset dir="dist/lib" includes="*.jar"/>

        <manifest>
            <attribute name="Main-Class" value="${main.class}"/>
        </manifest>
    </jar>

    <delete dir="${store.dir}"/>

    <zip destfile="${store.jar}">
        <zipfileset src="${temp.dir}/temp_final.jar"
        excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
    </zip>

    <delete dir="${temp.dir}"/>

</target>
  • Перейдите в свой файл build.xml и добавьте код прямо перед тегом закрывающего проекта в конце.

  • Теперь измените значение поля firsttiy как комментарий

  • Нажмите "Очистить" и "Создать", и ваша банка будет находиться в папке dist

Ссылка ссылки: fooobar.com/questions/236011/...

Ответ 4

  • проверить главный файл MainClass обновлен как основной файл в свойствах > запустить
  • Обновить Build.xml со следующим кодом до закрытия тега проекта

<!-- Change the value to the name of the final jar without .jar -->
<property name="store.jar.name" value="MyJarName"/>

<!-- don't edit below this line -->
<property name="store.dir" value="dist"/>
<property name="temp.dir" value="temp"/>
<property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>

<echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>

<delete dir="${temp.dir}"/>
<mkdir dir="${temp.dir}"/>

<jar destfile="${temp.dir}/temp_final.jar" filesetmanifest="skip">
    <zipgroupfileset dir="dist" includes="*.jar"/>
    <zipgroupfileset dir="dist/lib" includes="*.jar"/>

    <manifest>
        <attribute name="Main-Class" value="${main.class}"/>
    </manifest>
</jar>

<delete dir="${store.dir}"/>

<zip destfile="${store.jar}">
    <zipfileset src="${temp.dir}/temp_final.jar"
    excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
</zip>

<delete dir="${temp.dir}"/>

  1. Свойствa > упаковкa > отметьте все
  2. очистить и построить
  3. Загрузка на сервер.

Ответ 5

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

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

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

затем

cd /MyRootDirectoryForMyProject

следующий

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

следующий

mvn install

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

MyJarFile-1.0-jar-with-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/LifecyclePhaseNotFoundException

Ответ 6

Обычно я никогда не замечаю в онлайн-журналах, но ваша статья убедительна до такой степени, что я никогда не перестаю говорить что-то об этом. Ты отлично справляешься, чувак, так держать. "Бронирование отелей" "Онлайн бронирование авиабилетов" "Дешевое бронирование отелей онлайн" "Онлайн бронирование отелей со скидками" "Бронирование отелей со скидками" "Услуги бронирования отелей" "Авиабилеты со скидкой" "Доступные пакеты отдыха" "Доступные пакеты для медового месяца"