Cómo usar clases de.¿archivos jar?
He leído los tutoriales de Java sobre Sun para archivos JAR, pero todavía no puedo encontrar una solución para mi problema. Necesito usar una clase de un archivo jar llamado jtwitter.jar, descargué el archivo, y traté de ejecutarlo (me enteré ayer que .los archivos jar se pueden ejecutar haciendo doble clic sobre ellos) y Vista me dio un error diciendo "No se pudo cargar el atributo de manifiesto de la clase Principal desde [path]/jtwitter.frasco".
El tipo que codificó el .el archivo jar quiere que lo importe, pero dónde lo almaceno .frasco archivo para importarlo en mi código? Traté de poner tanto el .jar file y mi .archivo java en el mismo directorio, no funcionó.El archivo para el que intento trabajar está aquí: http://www.winterwell.com/software/jtwitter.php
Estoy usando JCreator LE.
5 answers
No todos los archivos jar son ejecutables.
Ahora, necesita importar las clases, que están allí debajo del jar, en su archivo java. Por ejemplo,
import org.xml.sax.SAXException;
Si estás trabajando en un IDE, entonces deberías referir su documentación. O al menos especifique cuál está utilizando aquí en este hilo. Sin duda nos permitiría ayudarle aún más.
Y si no estás usando ningún IDE, entonces por favor mira la opción javac-cp. Sin embargo, es mucho mejor idea empaquetar su programa en un archivo jar
, e incluye todos los jar
necesarios dentro de eso. Entonces, con el fin de ejecutar su jar
, como,
java -jar my_program.jar
Debe tener un archivo META-INF/MANIFEST.MF
en su jar
. Ver aquí, cómo hacerlo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:54:27
Digamos que necesitamos usar la clase Classname
que está contenida en el archivo jar org.example.jar
Y su fuente está en el archivo mysource.java
Así:
import org.example.Classname;
public class mysource {
public static void main(String[] argv) {
......
}
}
Primero, como ves, en tu código tienes que importar las clases. Para hacer eso necesitas import org.example.Classname;
En segundo lugar, cuando se compila la fuente, se tiene que hacer referencia al archivo jar.
Tenga en cuenta la diferencia en el uso de :
y ;
al compilar
-
Si está bajo una operación similar a Unix sistema:
javac -cp '.:org.example.jar' mysource.java
-
Si estás bajo windows:
javac -cp .;org.example.jar mysource.java
Después de esto, se obtiene el archivo de código de bytes mysource.class
Ahora puedes ejecutar esto:
-
Si se encuentra bajo un sistema operativo tipo unix:
java -cp '.:org.example.jar' mysource
-
Si estás bajo windows:
java -cp .;org.example.jar mysource
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-10 17:57:41
Necesita agregar el archivo jar en el classpath. Para compilar su clase java:
javac -cp .;jwitter.jar MyClass.java
Para ejecutar su código (siempre que MyClass contenga un método principal):
java -cp .;jwitter.jar MyClass
Puede tener el archivo jar en cualquier lugar. Lo anterior funciona si el archivo jar está en el mismo directorio que el archivo java.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-01-20 07:41:21
Como dice workmad3, necesitas que el archivo jar esté en tu classpath. Si está compilando desde la línea de comandos, eso significará usar el indicador-classpath. (Evite la variable de entorno CLASSPATH; es un dolor en el cuello IMO.)
Si está utilizando un IDE, por favor háganos saber cuál y podemos ayudarle con los pasos específicos de ese IDE.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-01-20 07:40:38
Es necesario poner el .archivo jar en su classpath al compilar / ejecutar su código. A continuación, solo tiene que utilizar las importaciones estándar de las clases en el .frasco.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-01-20 07:38:19