создать исполняемый файл jar, включая внешний файл jar из Netbeans 8.0.2 и java 8 - PullRequest
0 голосов
/ 02 марта 2020

Я хочу создать исполняемый файл JAR, который включает мои внешние файлы JAR, я использую Netbeans 8.0.2 и Java 8 Я попытался обновить сборку. xml, используя решение, предоставленное в inte rnet и stackoverflow, но внешний JAR-файлы не включаются в мой единственный исполняемый JAR-файл. Я тоже пробовал это

<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>

Я тоже пробовал это

Как построить толстую банку, используя Netbeans

она создала одну банку файл, но он не включает мою внешнюю зависимость. Может кто-нибудь помочь мне, как я могу включить мои внешние jar в один исполняемый jar, используя Netbeans 8.0.2 и java8

1 Ответ

0 голосов
/ 02 марта 2020

Я наконец нашел ответ, я использовал приведенную ниже конфигурацию в сборке. xml

<target name="package-for-store" depends="jar">
    <property name="store.jar.name" value="DocumentProtector"/>
    <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} mainclass ${main.class}"/>
    <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>

после clean+build щелкните правой кнопкой мыши build.xml и перейдите к Other target и нажмите package-for-store, но после этого я неправильно понял основной класс, поэтому после небольшого исследования я нашел решение изменить файл основного класса go на project folder -> nbproject and open project.properties и заменить main.class на имя файла класса почты с именем пакета, таким как main.class=com.test.package.MainClass и clean+build и снова щелкните правой кнопкой мыши build.xml и перейдите к Other target и нажмите package-for-store

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...