Pregunta sobre java, linux, command-line, package – Haciendo un paquete java en la línea de comando.

7

Aunque es probable que se recomiende uno e IDE para codificar proyectos java avanzados, personalmente prefiero ejecutar casi completamente la línea de comandos (usar gedit como editor de texto). Así que, por favor, no solo me digas "¡Solo usa eclipse!" o algo: p

Mi pregunta es cuál es el método para crear un paquete en java mediante un comando.

No estoy hablando de empaquetar una aplicación que se ejecuta en la línea de comandos, estoy hablando de hacer un paquete en la línea de comandos. ¿Estoy haciendo un archivo de texto? ¿Estoy haciendo un directorio?

Relacionado, ¿cómo se vincula uno a las bibliotecas y los nativos relacionados sin el uso de un IDE?

Sé que estoy siendo realmente incómodo aquí, pero realmente prefiero el control que uno obtiene trabajando en la línea de comandos.

No, los frascos son bastante fáciles: P Me refiero a un paquete real (que, al parecer, es solo un directorio ... gossfunkel
"Crear un paquete"? ¿Quieres decir "creando un JAR"? Si es así, comience con la documentación:docs.oracle.com/javase/tutorial/deployment/jar/index.html. Oliver Charlesworth

Tu respuesta

4   la respuesta
2

Puede llevarse bien en la línea de comandos usando una herramienta de empaquetado comoHormiga oMaven. Maven es especialmente útil porque es una herramienta de nivel superior que ya sabe cómo crear varios tipos de proyectos: aplicaciones de línea de comandos, aplicaciones web, bibliotecas, etc. También maneja las dependencias de la biblioteca descargándolas desde los repositorios.

@AleksG - Maven aún sería útil ya que el OP debe "vincularse con las bibliotecas relacionadas". David Harkness
No creo que esto sea lo que persigue OP. Está hablando de paquetes en el código fuente de Java, no de cómo empaquetar la aplicación final. Aleks G
7

Hay tres partes: (1) crear una estructura de directorios; (2) indicar el paquete en el archivo java; (3) compilarlo.

Por ejemplo, si quieres crear un paquete.com.mycompany.myproject, entonces necesitas comenzar en el directorio base para tu proyecto y luego:

(1) crear directoriocom/mycompany/myproject

(2) crear archivos java en ese directorio, indicandopackage com.mycompany.myproject en ellos;

(3) compilar los archivos, por ejemplo, conjavac -cp . com/mycompany/myproject/*.java

Es posible que desee especificar un directorio de salida diferente para no mezclar fuentes y clases compiladas.

Si necesita usar bibliotecas externas (archivos .jar) para compilar, entonces necesita usar-cp o-classpath parámetro de línea de comando parajavac herramienta para especificarlos, por ejemplo

javac -cp .:some_library.jar:lib/another_library.java com/mycompany/myproject/*.java

Puede ser una buena idea colocar todas las bibliotecas externas en un solo lugar, por ejemplo.lib subdirectorio de su directorio principal de proyectos. Y, por cierto, lo anterior.javac El comando asume un entorno similar a Unix. Si estás en Windows, entonces necesitarás usar; Para la separación de caminos.

5

Los paquetes son solo directorios en el sistema de archivos. por lo que su paquete:com.mycompany.util corresponde a un directoriocom/mycompany/util.

Al ejecutar y compilar, etc., su directorio de trabajo actual debe estar donde se encuentra el directorio superior.

Para incluir bibliotecas, inclúyalas en su ruta de clases cuando compile y ejecute. Por ejemplo hacer un directorio de proyectos.myproject y debajo de eso tienen sus archivos java y paquetes bajomyproject/src/ y las bibliotecas que utiliza bajomyproject/libs/ Entonces, cuando su directorio de trabajo actual esmyproject ejecutarjava -cp .:libs/*.jar o lo mismo conjavac.

Pero te sugiero que busques usar hormigas o maven.

eso es correcto ... los paquetes no son más que estructuras de directorios organizadas Suraj Chandran
1

Java Package es solo una estructura de directorio, por lo que una forma sencilla de crear un paquete permite decir com.organization.test en terminal será

mkdir -p com/organization/test

Preguntas relacionadas