una proyecto para librerias incluir importar externas ejecutar ejecutable desde cuál crear configuración archivo app agregar netbeans jar package

netbeans - proyecto - librerias externas java



¿Cómo incluir los archivos jar en lib en el archivo jar del proyecto en Netbeans? (5)

Estoy usando algunos jash de Apache HttpClient, así que los puse en el directorio lib de mi proyecto, cuando Netbeans compila el proyecto, copia la lib y genera un jar de proyecto en el directorio dist, pero cuando ejecuto mi proyecto con webstart, necesito Copie el jar y lib del proyecto en el directorio ROOT de tomcat, me pregunto si Netbeans puede generar un jar de proyecto que incluya todos los jar en el directorio lib, para no tener que copiar el jar de proyecto y el directorio lib en el directorio ROOT de tomcat. ¿Pueden Netbeans hacer eso?


  1. comprobar que el archivo principal de MainClass se actualice como archivo principal en Propiedades> ejecutar
  2. Actualice Build.xml con el siguiente código antes de que se cierre la etiqueta del proyecto

<!-- 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. Propiedades> embalaje> marque todo
  2. limpiar y construir
  3. Subir al servidor.

De acuerdo, esta es mi solución. Yo también tuve el problema con mi programa compilando y ejecutándose en Netbeans pero fallando cuando probé java -jar MyJarFile.jar . Ahora, no entiendo por completo a Maven y creo que este es el motivo por el que tuve problemas para conseguir que Netbeans 8.0.2 incluyera mi archivo jar en una biblioteca para ponerlos en un archivo jar. Estaba pensando en cómo solía usar archivos jar sin Maven en Eclipse.

Es Maven el que compila todas las dependencias y complementos, no Netbeans. (Si puede hacer que Netbeans haga esto, cuéntenos cómo).

[Solucionado - para Linux] abriendo una terminal.

Entonces

cd /MyRootDirectoryForMyProject

Siguiente

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

Siguiente

mvn install

Esto creará un archivo jar en el directorio de destino.

MyJarFile-1.0-jar-with-dependencies.jar

Ahora

cd target

(Puede necesitar ejecutar: chmod + x MyJarFile-1.0-jar-with-dependencies.jar) Y finalmente

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

Por favor mira

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



Robert Eckstein describe una solución para este problema. Solo necesita pegar el siguiente código en build.xml . Todas las bibliotecas se encuentran automáticamente.

Aquí vamos:

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

  1. Vaya a su build.xml y agregue el código justo antes de la etiqueta de cierre del proyecto al final.

  2. Ahora cambie el valor del primer campo de propiedad como se comentó

  3. Haga clic en Limpiar y compilar, y su jar estará en la carpeta dist

Enlace de referencia: https://.com/a/30172829/2761273


Es muy fácil empaquetar todas las bibliotecas dependientes (* .jar) en una sola myProject.jar.

Simplemente siga estos pasos y finalmente empacará cada biblioteca dependiente en un único contenedor. Si está utilizando NetBeans, puede seguir exactamente o si no necesita encontrar su archivo build.xml en los archivos del proyecto.

Siga estos pasos para editar build.xml

1) Haga clic en la Files tab en el lado izquierdo del panel del proyecto en NetBeans.

2) Haz doble clic en el archivo build.xml y agrega estas líneas justo antes de la línea </project>

<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) Cambiar el value en la segunda línea del código según el nombre de su proyecto, que es

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

4) Guárdelo y haga clic derecho en build.xml y elija Ejecutar destino y luego Otros objetivos, y finalmente haga clic en Package-for-store

5) Y aquí lo hiciste. Ahora puede ir y verificar como en la carpeta dist habrá una carpeta de store que contendrá su jar completo final incluyendo todas sus bibliotecas dependientes. Ahora, cada vez que quiera cambiar / agregar más bibliotecas, siga el paso 4.

Imagen para el paso 4