Incluir jars en classpath en la línea de comandos (javac o apt)
Intentando ejecutar este programa. Creo que para configurar todas las cosas del servicio web necesito ejecutar apt. (Aunque usando javac estoy teniendo el mismo problema). Creo que lo que estoy obteniendo son errores de compilación. (Se muestra en la parte inferior).
Creo que lo que tengo que hacer es incluir este jar en mi ruta de clase: jsr181-api.jar (fuente). ¿Hay una manera simple y temporal de hacer esto (en solaris)? No quiero agregarlo a mi archivo bash_rc (está ahí para siempre). También sé que hay alguna manera para hacerlo usando un archivo de texto manifiesto, pero eso parecía complicado, así que no lo investigué todavía. Puedo hacer algo como:
javac HelloImp <listOfJars>
O
ant HelloImp <listOfJars>
Código:
package server;
import javax.jws.WebService;
@WebService
public class HelloImpl {
/**
* @param name
* @return Say hello to the person.
*/
public String sayHello(String name) {
return "Hello, " + name + "!";
}
}
Compile errores:
HelloImpl.java:3: package javax.jws does not exist
import javax.jws.WebService;
^
HelloImpl.java:5: cannot find symbol
symbol: class WebService
@WebService
^
2 errors
Actualización: Genial que está envuelto, pero todavía no está funcionando del todo. He creado una nueva pregunta para mantener las cosas bien organizadas:
6 answers
Intente lo siguiente:
java -cp jar1:jar2:jar3:dir1:. HelloWorld
El classpath predeterminado (a menos que haya una variable de entorno CLASSPATH) es el directorio actual, así que si lo redefine, asegúrese de agregar el directorio actual (.) al classpath como lo he hecho.
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
2010-01-19 19:14:08
En windows:
java -cp C:/.../jardir1/*;C:/.../jardir2/* class_with_main_method
Asegúrese de que la clase con la función principal esté en uno de los frascos incluidos
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
2010-01-19 19:17:24
Utilice el interruptor -cp
o -classpath
.
$ java -help
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
...
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
(Tenga en cuenta que el separador utilizado para separar las entradas en el classpath difiere entre los sistemas operativos, en mi máquina Windows es ;
, en *nix suele ser :
.)
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
2010-01-19 19:15:13
Nota para los usuarios de Windows, los jars deben estar separados por ;
y no :
.
Por ejemplo:
javac -cp external_libs\lib1.jar;other\lib2.jar;
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-04-27 19:34:22
Usando:
apt HelloImpl.java -classpath /sac/tools/thirdparty/jaxws-ri/jaxws-ri-2.1.4/lib/jsr181-api.jar:.
Funciona pero me da otro error, ver nueva pregunta
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 12:26:33
Javac HelloWorld.java-classpath .- javax.jar, suponiendo que javax está en la carpeta actual, y el objetivo de compilación es " HelloWorld.java", y se puede compilar sin un método principal
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-01-15 11:05:54