【问题标题】:Unable to create HelloWorld webservice无法创建 HelloWorld 网络服务
【发布时间】:2013-10-07 13:14:58
【问题描述】:

我正在尝试使用 this 教程使用 Tomcat、Eclipse、JAX-WS 创建一个简单的 HelloWorld Web 服务。

我创建了一个动态 Web 项目,其文件夹层次结构如下所示。

我复制粘贴了教程中的代码,并确保我已将我的工作区名称适当地放在那些 Java 和 XML 文件中

现在我在eclipse中创建了一个Ant builder,如下:

build.xml 的内容如教程中给出。

但是,当我构建项目时,我收到以下错误:

虽然在第一张图中你可以看到我直接在项目目录下明确创建了dist 文件夹。

编辑

Ant builder 的目标选项卡

【问题讨论】:

  • 能否告诉我(或放截图)New_Builder 的编辑配置选项卡的目标
  • @luiso1979 上传了tabs部分的图片,检查edit to original question

标签: eclipse web-services tomcat ant jax-ws


【解决方案1】:

在你的 ant 文件中替换这个:

<project name="HelloWorldWS" default="dist" basedir=".">

有了这个

<project name="HelloWorldWS" default="war" basedir=".">

请注意,您在 Manua Build 中发布的最后一个屏幕截图:&lt;default target selected&gt;。所以它转到 build.xml 并采用标签中定义的默认值 projectdist 没有在其中声明,而是 war 是(最后进行分发生成)。所以默认使用war

【讨论】:

  • sad now war 文件已创建,但是当部署在 Tomcat 上并尝试在http://localhost:8080/HelloWorld/hello 访问它时,它给出了404 Requested resource not available。这个网络服务对我来说是地狱般的。我还尝试了另一个简单的 HelloWorld webservice tut,这种方法也卡住了,我为它创建了另一个问题here
  • 好的,我假设您从教程中复制了 web.xml。但是您是否将库放在 lib 文件夹中。教程第 5 步
  • 是的tomcatxyz/lib。它提取了 WAR,但仍然给出 404
  • 你用的是什么版本的tomcat,试试把你项目的WEB-INF/lib下的libs复制过来,测试一下
  • 我的tomcat版本7.0.41。尝试放置那些WEB-INF/lib,然后重建项目 - 重新创建WAR 仍然得到404 我应该发送我的WAR 吗?您可以在任何存档器中打开它。
【解决方案2】:

您的 ant 文件 build.xml 缺少 dist 目标,请尝试运行 war 目标。

【讨论】:

  • 我对ant不熟悉,请解释一下build.xml的最终内容应该是什么
  • 实际上,当我在 Project Explorer 中选择项目,然后从 eclipse 菜单栏中选择 Project|Build Project 时,我得到了那个错误。我在这里有什么遗漏吗。我们可以在这里选择性地运行目标吗?我可能听起来绝对愚蠢,但请帮忙。对于 Ant,我是菜鸟。
  • 您可以按照@Luiso1979 在他的回答中解释的方式运行它,或者您可以右键单击构建文件并选择运行方式,然后选择战争目标。
最近更新 更多