Consta de tres partes:(1) crear una estructura de directorios; (2) indicar el paquete en el archivo java; (3) compilarlo.
Por ejemplo, si desea crear el paquete com.mycompany.myproject
, luego debe comenzar en el directorio base de su proyecto y luego:
(1) crear directorio com/mycompany/myproject
(2) cree archivos java en ese directorio, indicando package com.mycompany.myproject
en ellos;
(3) compilar los archivos, por ejemplo, con javac -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 a javac
herramienta para especificarlos, por ejemplo,
javac -cp .:some_library.jar:lib/another_library.java com/mycompany/myproject/*.java
Puede ser una buena idea poner todas las bibliotecas externas en un solo lugar, p. lib
subdirectorio de su directorio principal del proyecto. Y, por cierto, el anterior javac
El comando asume un entorno similar a Unix. Si estás en Windows, necesitarás usar ;
para la separación de caminos.
los paquetes son solo directorios en el sistema de archivos, por lo que su paquete:com.mycompany.util
corresponde a un directorio com/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 classpath al compilar y ejecutar. Por ejemplo, haga un directorio de proyecto myproject
y debajo tiene sus archivos y paquetes java bajo myproject/src/
y bibliotecas que usas bajo myproject/libs/
Luego, cuando su directorio de trabajo actual sea myproject
ejecutar java -cp .:libs/*.jar
o lo mismo con javac
.
Pero te sugiero que busques usar ant o maven.
Puede funcionar perfectamente en la línea de comando utilizando una herramienta de empaquetado como Ant o Maven. 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 de los repositorios.