Java "Klassendatei enthält Fehler falscher Klasse" Fehler
-
28-10-2019 - |
Frage
Ich versuche eine Konsolenanwendung zu stellen, um meinen Webservice zu testen. Ich habe erfolgreich einen Webservice bei bereitgestellt http: // localhost: 8080/ws/mywsUnd ich habe Proxy -Kurse mit WSIMPORT erstellt:
wsimport -d bin -s src http://localhost:8080/WS/myWS?wsdl
Jetzt befinden sich meine WebService -Kurse in Bin/ MyWebservice/ und ich versuche, meine Client -Klasse mit classPath = ./
Hier ist der Quellcode meiner Klasse:
import bin.mywebservice.myClass_Service;
public class TesterApp{
public static void main (String args[])
{
myClass_Service service = new myClass_Service();
}
}
Und ich habe Fehler:
TesterApp.java:1: error: cannot access myClass_Service
import bin.mywebservice_Service.myClass;
^
bad class file: .\bin\mywebservice\myClass_Service.class
class file contains wrong class: mywebservice.myClass_Service
Please remove or make sure it appears in the correct subdirectory of the classpath.
Bitte helfen Sie, was ist los mit MyClass_Service? Ich schwöre, myclass_service.class existiert in. bin mywebservice
Lösung
Sie sind fälschlicherweise einschließlich der bin
in dem import
Erklärung.
Eher gesagt bin
auf dem Klassenpfad und korrigieren Sie die import
.
Es sei denn (der schlecht benannte) myClass_Service.java
Datei ist package bin.mywebservice
(Was gemäß der Fehlermeldung nicht, versuchen Sie, das Problem an der falschen Stelle zu beheben.
Andere Tipps
Es sieht so aus, als hätte die generierte Klasse ein Paket mywebservice
, nicht bin.mywebservice
. Stellen Sie sicher, dass bin
Verzeichnis ist auf dem Klassenpfad und fallen bin
Aus den Paketen.
Dieses Makefile kann helfen, wenn Sie Pakete verwenden:
CLASS_PATH = ../bin
vpath %.class $(CLASS_PATH)
all : HelloJNI.h
HelloJNI.h : com/my/package/HelloJNI.class
javah -classpath $(CLASS_PATH) com.my.package.$*