2

我正在尝试制作一个控制台应用程序来测试我的网络服务。我在http://localhost:8080/WS/myWS成功部署了一个 web服务, 并使用 wsimport 创建了代理类:

wsimport -d bin -s src http://localhost:8080/WS/myWS?wsdl

现在我的 webservice 类位于 bin/mywebservice/ 中,我正在尝试使用 classpath = ./ 编译我的客户端类

这是我的课程的源代码:

import bin.mywebservice.myClass_Service;
public class TesterApp{
    public static void main (String args[])
    {    
        myClass_Service service = new myClass_Service(); 
    }
}

我有错误:

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.

请帮忙,myClass_Service 有什么问题?我发誓,myClass_Service.class 存在于 .\bin\mywebservice\

4

3 回答 3

3

您错误地包含binimport声明中。

而是放在bin类路径上并更正import.

除非(名称不佳的)myClass_Service.java文件是package bin.mywebservice(根据错误消息,它不是),否则您试图在错误的位置纠正问题。

于 2011-12-04T17:46:05.790 回答
2

看起来生成的类有一个包mywebservice,而不是bin.mywebservice. 确保该bin目录位于类路径中,然后bin从包中删除。

于 2011-12-04T17:47:12.487 回答
-1

如果您使用软件包,此 makefile 可能会有所帮助:

CLASS_PATH = ../bin

vpath %.class $(CLASS_PATH)

all : HelloJNI.h

HelloJNI.h : com/my/package/HelloJNI.class
    javah -classpath $(CLASS_PATH) com.my.package.$*
于 2013-11-04T04:38:14.167 回答