2011-02-25 10 views
23

¿Cómo importo las bibliotecas en mi programa Java sin usar un IDE como Netbeans? En Netbeans lo hago de esta manera: enter image description herecómo incluir bibliotecas en Java sin usar un IDE

¿Cómo puedo lograr lo mismo sólo por el uso Notepad ++ o el bloc de notas del programador. Tanto como sea posible no quiero usar Netbeans porque sería excesivo ya que solo estoy trabajando en proyectos simples.

Respuesta

25
javac -classpath external.jar myClass.java 

EDIT:

Si su clase principal está en un paquete

package com.mycompany; 
public class myClass 
{ 
... 
... 

continuación

se Necesitará

javac -classpath external.jar com/mycompany/myClass.java 

y

para funcionar

java -classpath external.jar com.mycompany.myClass 
+0

Excepción en hilo java.lang.NoClassDefFoundError "principal": Quizzer Causado por: java.lang.ClassNotFoundException: Quizzer en java.net.URLClassLoader $ 1.run (origen desconocido) en java.security.AccessController.doPrivileged (Nativo método) en java.net.URLClassLoader.findClass (origen desconocido) en java.lang.ClassLoader.loadClass (origen desconocido) en sun.misc.Launcher $ AppClassLoader.loadClass (origen desconocido) en java.lang.ClassLoader .loadClass (Fuente desconocida) No se pudo encontrar la clase principal: Quizzer. Programa saldrá. – user225269

+0

¿su clase principal tiene un nombre de paquete? –

+0

@StackOverflowError - también necesita un argumento '-classpath' en el comando' java'. –

2

poner los frascos en la ruta de clases, ruta de clase es una variable de entorno

+0

classpath * se puede * especificar a través de una variable de entorno, pero la mejor práctica es usar '-classpath'. –

1

Asegúrese de que el archivo jar se encuentra en la ruta de clases y usted tiene la declaración de importación.

8

Además de @ post de StackOverflowException la adición de varios archivos y ubicaciones es prefectamenta bien también ...

javac -cp location1/;location2/;file1.jar;file2.jar fileToCompile 

Notas ::

-cp y -classpath son la misma cosa. Si usa Solaris (y algunos otros sabores de UNIX) cambie el ';' a ':'

6

Todos los demás carteles son excelentes, solo tiene que agregar el jar a su classpath.

Java ofrece muchos mecanismos para establecer la ruta de clases, incluso a través de la línea de comando, a través de una variable de entorno, y mediante su configuración en MANIFEST.MF de un archivo jar Java ejecutable.

Estos son todos un dolor en el cuello para administrar. Es bueno conocer la técnica y comprender lo básico. Pero realmente es una mala idea usarlos realmente.

Lo que debe hacer es esto.

Primero, coloque todas sus bibliotecas Java en un solo lugar en su sistema. C: \ java \ libraries, o lo que sea. Un lugar que recuerdes, un lugar accesible para todos tus proyectos.

A continuación, nombre todas sus bibliotecas con sus números de versión. Si usa log4j v1.4.1, coloque el jar en un directorio log4j-1.4.1 en su área de biblioteca. Esto le da versiones de la biblioteca "gratis".

Finalmente, aprende Ant. Para proyectos simples, Ant es simple. Utilice el archivo Ant build.xml para compilar, probar y ejecutar su aplicación.

¿Por qué? Muchas rasones.

Porque una vez que está configurado, agregar una nueva biblioteca a su proyecto es trivial, agrega una línea a su build.xml. Ant le permite manejar más fácilmente abstracciones simples (como dónde se encuentran todas sus bibliotecas).

El build.xml es independiente. Si usa, por ejemplo, una variable de entorno para classpath, entonces la classpath para un proyecto puede ser diferente de la de otro. Eso significa restablecer la variable de entorno. Continúa con esto y terminarás jurando sobre algún "nuevo problema" donde "funcionó antes" cuando es porque tu ruta de clase estaba mal. Configúrelo una vez en build.xml y olvídelo.

Ant es portátil. Se ejecuta igual en Windows, en Linux, en Mac, en AS/400, se ejecuta en todas partes que se ejecuta Java, a diferencia de las secuencias de comandos o los archivos BAT.

Es liviano. Los scripts de hormigas simples son simples. No traen un montón de equipaje con ellos, siempre puedes hacerlos más complicados. Es mucho más simple que Maven para construcciones simples.

La mayoría de los IDEs admiten Ant directamente. Si decidió volver a un IDE, la mayoría puede simplemente usar su archivo de compilación de ant con una configuración mínima.

Así es como resuelves tu problema de classpath con notepad ++. Establecer el classpath funciona, pero no va lo suficientemente lejos, es un dolor administrarlo y administrarlo. Aprender los conceptos básicos de Ant te llevará mucho más lejos con un trabajo mínimo.

+0

esto podría funcionar. Pero no es una buena práctica tirar todos tus archivos JAR en un solo lugar. –

3

Usted debe ponerlos en la ruta de clases, como

java -classpath someJar.jar YourMainClass

Y, por supuesto, puede hacer lo mismo para javac.

Si necesita tener más de un jar o directorio en su classpath, necesitará usar el separador de ruta predeterminado de su plataforma. Por ejemplo, en Windows,

java -classpath someJar.jar;myJar.jar YourMainClass

En una nota lateral, puede que le resulte más fácil de usar un IDE para gestionar este tipo de cosas. Personalmente, he usado solo mi editor ligeramente scriptable y lo he manejado bien. Pero es bueno saber cómo hacer esto por línea de comando.

Cuestiones relacionadas