2011-07-21 97 views
3

我嘗試在netbeans站點上遵循Getting Started with JAX-WS Web Services教程。我創建Web服務應用程序(Java EE 6 Web,Tomcat 7.0),當我添加一個Web服務類時,netbeans會問我是否想使用METRO(因爲服務器不是JSR-109),所以我說是的,它增加了一些地鐵圖書館。將netbeans中的web服務部署到tomcat-apache時,上下文無法啓動

現在的web服務,因爲我選擇了「實現Web服務作爲一個無狀態會話Bean」複選框使用javax.ejb.Stateless,但加入含有此類沒有圖書館,我得到在Netbeans的一個錯誤:

import javax.ejb.Stateless; 
... 
@WebService(serviceName = "WebServiceTest") 
@Stateless() 
public class WebServiceTest {...} 

「can not find symbol:class Stateless」

ofcourse it can not。當我添加「Java EE Web API API庫-javaee-web-api-6.0.jar」時,錯誤得到了解決,但是當我部署項目時,出現了一個更加困難的錯誤,並且錯誤是實際的問題...

Deployment is in progress... 
deploy?config=file%3A%2FC%3A%2FUsers%2Ftjen%2FAppData%2FLocal%2FTemp%2Fcontext6376466830057976095.xml&path=/CalculatorWSApplication 
FAIL - Deployed application at context path /CalculatorWSApplication but context failed to start 
[here a direction to the line of error] 
The module has not been deployed. 
    at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:187) 
    [...a whole lot of red-collored stack-trace stuff] 
BUILD FAILED (total time: 1 second) 

在下面一行:

<nbdeploy clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/> 

我將這些參數在不同的線路是這樣的:

<nbdeploy 
clientUrlPart="${client.urlPart}" 
debugmode="false" 
forceRedeploy="${forceRedeploy}" 
/> 

這並沒有幫助我的人(但也許它確實對你有幫助),因爲恐怖窪s的線路:

/> 

現在,如果我註釋掉無國籍使用,並刪除 「的Java EE 6的Web API庫 - JavaEE的-Web的API-6.0.jar」 庫,沒有問題,它所有的作品都像一個魅力。 (在'clean and build'之後,它會繼續發生錯誤)

無論我添加哪個庫,如果我這樣做,我會得到相同的錯誤。我可以得到例如工作,但我希望能夠添加庫沒有它崩潰...

希望能解開這個謎,Tjen

PS:有些規格

  • 產品版本:NetBeans IDE 7.0(Build 201104080000)
  • Java:1.6.0_21; Java HotSpot™64位服務器虛擬機17.0-b17
  • 系統:在amd64上運行的Windows 7版本6.1;
  • 的Tomcat 7.0.11
  • 我有JAXB-api.jar文件和JAXWS-api.jar文件在JDK 1.6平臺

回答

0

這是因爲你沒有選擇將GlassFish作爲Web服務器,創建認可該項目您必須至少選擇glassfish作爲Web服務器和jdk 1.7。

+1

選擇* - 語法納粹! –

0

在我的情況下,我從jdk 1.7開始使用glassfish。我得到了同樣的錯誤,但後來我將我的glassfish版本更改爲3,而不是3.1.2在netbeans中,這很好。

0

這可以通過向tomcat添加地鐵庫來實現。 GlassFish有地鐵圖書館內置。爲了在tomcat上運行web服務,必須包含Metro庫。

請谷歌你會如何添加庫。祝你好運

相關問題