Не удалось запустить контекст при развертывании веб-службы в сетевых компонентах для tomcat-apache - PullRequest
3 голосов
/ 21 июля 2011

Я пытаюсь следовать руководству Начало работы с веб-службами JAX-WS на сайте netbeans.Я создаю приложение веб-службы (Java EE 6 Web, Tomcat 7.0), когда добавляю netbeans класса веб-службы, и спрашивает меня, хочу ли я использовать METRO (поскольку сервер не поддерживает JSR-109), поэтому яскажи да, и это добавляет несколько библиотек метро.

Теперь веб-сервис использует javax.ejb.Stateless, так как я установил флажок «Реализовать веб-сервис как компонент сеанса без состояния», но библиотека, содержащая этот класс, не добавлена, и я получаю сообщение об ошибке в Netbeans:

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

"не удается найти символ: класс без состояния"

Конечно, он не может.Когда я добавляю «Java EE Web 6 API Library - 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}"
/>

Что не былопомогите мне вообще (но, возможно, это вам поможет), потому что ошибка была в строке:

/>

Теперь, если я закомментирую использование без сохранения состояния и удалю «Java EE Web 6 API Library -javaee-web-api-6.0.jar ", проблем нет, и все работает как шарм.(после «очистки и сборки» в противном случае он продолжает работать с ошибками)

Неважно, какую библиотеку я добавлю, если я это сделаю, я получу ту же ошибку.Я могу заставить пример работать, но я хотел бы иметь возможность добавлять библиотеки без сбоев ...

Надеюсь разгадать эту загадку, Tjen

PS: некоторые спецификации

  • Версия продукта: IDE NetBeans 7.0 (сборка 201104080000)
  • Java: 1.6.0_21;Java HotSpot (TM) 64-разрядный сервер ВМ 17.0-b17
  • Система: Windows 7 версии 6.1, работающая на amd64;
  • Tomcat 7.0.11
  • У меня есть jaxb-api.jar и jaxws-api.jar, одобренные на платформе JDK 1.6

Ответы [ 3 ]

1 голос
/ 06 октября 2014

Этого можно достичь, добавив библиотеки метрополитена в tomcat.GlassFish имеет встроенную библиотеку метро.Чтобы запустить веб-сервис на tomcat, необходимо включить библиотеки Metro.

Пожалуйста, Google, как бы вы добавили библиотеку.удачи

0 голосов
/ 18 сентября 2013

В моем случае я использовал Glassfish с самого начала с JDK 1.7. Я получил ту же ошибку, но затем я изменил мою версию Glassfish на 3 вместо 3.1.2 в NetBeans, и это было хорошо.

0 голосов
/ 04 марта 2012

Это потому, что вы не выбрали Glassfish в качестве веб-сервера, при создании проекта вы должны выбрать Glassfish в качестве веб-сервера и, по крайней мере, jdk 1.7.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...