versuchen, dieses Programm auszuführen. Ich denke, dass ich apt einrichten muss, um alle Web-Service-Dinge einzurichten. (Obwohl ich Javac benutze, habe ich das gleiche Problem). Ich denke, was ich bekomme, sind Kompilierungsfehler. (Unten gezeigt).
Ich denke, ich muss dieses Glas in meinen Klassenpfad aufnehmen: jsr181-api.jar (Quelle) . Gibt es eine einfache vorübergehende Möglichkeit, dies zu tun (auf Solaris)? Ich möchte es nicht zu meiner bash_rc-Datei hinzufügen (es ist für immer da). Ich weiß auch, dass es eine Möglichkeit gibt, dies mit einer Manifest-Textdatei zu tun, aber das schien kompliziert zu sein, so dass ich mich noch nicht damit befasst habe. Kann ich einfach so etwas machen wie:
javac HelloImp <listOfJars>
oder
ant HelloImp <listOfJars>
Code:
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 + "!";
}
}
Kompilierungsfehler:
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
Update: Cool, das ist eingepackt, aber es funktioniert immer noch nicht ganz. Ich habe eine neue Frage erstellt , um die Dinge schön und organisiert zu halten:
javac
) benötigt, nicht jedoch zur Laufzeit (dhjava
). Zum Beispiel daslombok
Glas.Antworten:
Versuche Folgendes:
Der Standardklassenpfad (es sei denn, es gibt eine CLASSPATH-Umgebungsvariable) ist das aktuelle Verzeichnis. Wenn Sie ihn also neu definieren, stellen Sie sicher, dass Sie das aktuelle Verzeichnis (.) Wie bisher zum Klassenpfad hinzufügen.
quelle
java -cp *:. HelloWorld
. Auf diese Weise sind immer alle Gläser in meinem Klassenpfad enthalten.In Fenstern:
Stellen Sie sicher, dass sich die Klasse mit der Hauptfunktion in einem der enthaltenen Jars befindet
quelle
Hinweis: Für Windows-Benutzer sollten die Gläser durch
;
und nicht getrennt werden:
.beispielsweise:
javac -cp external_libs\lib1.jar;other\lib2.jar;
quelle
Verwenden Sie den Schalter
-cp
oder-classpath
.(Beachten Sie, dass das Trennzeichen zum Trennen von Einträgen im Klassenpfad von Betriebssystem zu Betriebssystem unterschiedlich ist. Auf meinem Windows-Computer ist dies
;
in * nix normalerweise der Fall:
.)quelle
Verwenden von:
funktioniert, aber es gibt mir einen weiteren Fehler, siehe neue Frage
quelle
quelle