2011-10-30 123 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