2011-10-30 124 views
0

我想用Java创建和发布简单的WebService。 全部汇编。 当我运行时编译后无法执行Java代码

> java -cp。 ts.TimeServerPublisher

我收到错误

错误:无法找到或加载主类ts.TimeServerPublisher

任何想法,为什么这是一个问题?

我的代码看起来像下面

TimeServerPublisher

package ts; 
import javax.xml.ws.Endpoint; 
public class TimeServerPublisher { 
/** 
* @param args 
*/ 
public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    Endpoint.publish("http://127.0.0.1:9876/ts", new TimeServerImpl()); 
} 
} 

TimeServerImpl.java

package ts; 
import java.util.Date; 
import javax.jws.WebService; 
@WebService(endpointInterface = "ts.TimeServer") 
public class TimeServerImpl implements TimeServer { 
public String getTimeAsString() { return new Date().toString(); } 
public long getTimeAsElapsed() { return new Date().getTime(); } 
} 

TimeServer.java

package ts; 
import javax.jws.WebService; 
import javax.jws.WebMethod; 
import javax.jws.soap.SOAPBinding; 
import javax.jws.soap.SOAPBinding.Style; 
@WebService 
@SOAPBinding(style = Style.RPC) 
public interface TimeServer { 
@WebMethod String getTimeAsString(); 
@WebMethod long getTimeAsElapsed(); 
} 
+0

你应该总是发表您的堆栈跟踪。我敢打赌,你的主类不在类路径中 - 它与web服务无关。 – home

+0

请发帖:a)Java程序调用输出(stacktrace?)b)编译命令 – Max

+0

两者都在上面提供。没有堆栈跟踪。只有输出是一行错误。第一个文件中有一个Main方法。我添加的-cp标志是用于类路径 – user1020925

回答

1

您正在尝试运行的类位于包ts中。 所以,如果你有这样的文件树:

/bin/ts/TimeServerPublisher 

你必须运行以下命令

java -cp /bin ts/TimeServerPublisher 
+0

我具有相同的路径。 C:\ Users \ workspace \ ch01> java -cp/bin ts/TimeServerPublisher 错误:无法找到或加载主类ts.TimeServerPublisher – user1020925

+0

请尝试ch01/bin文件夹中的java ts/TimeServerPublisher。 – Sibbo

+0

嘿它工作。谢谢Sibbo。所以它没有任何错误,它作为其运行时停留在下一行。我会试着看看我现在是否可以用Web Server来运行它。为什么它不在文件夹中的ts上工作? – user1020925