tratando de ejecutar este programa Creo que para configurar todo el servicio web necesito ejecutar apt. (Aunque estoy usando javac, estoy teniendo el mismo problema). Creo que lo que obtengo es 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 forma temporal simple de hacer esto (en solaris)? No quiero agregarlo a mi archivo bash_rc (está ahí para siempre). También sé que hay alguna forma de hacerlo usando un archivo de texto manifiesto, pero eso parecía complicado, por lo que aún no lo he investigado. ¿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 + "!";
}
}
Errores de compilación:
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 funciona del todo. He creado una nueva pregunta para mantener las cosas agradables y organizadas:
javac
), pero no en tiempo de ejecución (es decirjava
). Por ejemplo, ellombok
frasco.Respuestas:
Intenta lo siguiente:
El classpath predeterminado (a menos que haya una variable de entorno CLASSPATH) es el directorio actual, por lo que si lo redefine, asegúrese de agregar el directorio actual (.) Al classpath como lo he hecho.
fuente
java -cp *:. HelloWorld
. De esa manera, todos los frascos en mi classpath siempre están incluidos.En windows:
asegúrese de que la clase con la función principal esté en uno de los frascos incluidos
fuente
Nota para los usuarios de Windows, los frascos deben estar separados por
;
y no:
.por ejemplo:
javac -cp external_libs\lib1.jar;other\lib2.jar;
fuente
Use el interruptor
-cp
o-classpath
.(Tenga en cuenta que el separador utilizado para separar las entradas en el classpath difiere entre los sistemas operativos, en mi máquina Windows lo es
;
, en * nix generalmente es:
).fuente
Utilizando:
funciona pero me da otro error, ver nueva pregunta
fuente
fuente