2011-07-21 84 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库。

请谷歌你会如何添加库。祝你好运