12

我有一个 Java Web Services 项目,它是在旧版本的 NetBeans 中创建的,而且我已经好几个月没有访问它了,所以我的路径和安装的库是不同的。

当我尝试打开项目时,我得到一个“解决参考问题”对话框,并列出了两个参考问题:

"metro" library could not be found
"JAX-WS-ENDORSED" library could not be found

使用 NetBeans 7.0 全新安装了 JDK 6 Update 25,并且正在运行 Windows 7。

我可以采取哪些步骤来解决这个问题?我什至不知道从哪里开始,因为到目前为止我采取的每一种方法都没有让我有任何收获。

注意: JAX-WS-ENDORSED 没有出现在我的库列表中,所以我不能删除它。隐藏的东西正在引用它。我怎么会找到这个?

4

10 回答 10

13

我刚遇到这个问题,并从http://netbeans.org/bugzilla/show_bug.cgi?id=187145找到了一些帮助。显然,Netbeans 将在创建新的 Web 服务时创建 JAX-WS-ENDORSED 库。所以去 File > New File,选择 Web Service > Web Service Client 并填写虚拟值(这可以在一次性项目中完成)。然后可以删除此客户端,Netbeans 将使用以下类路径条目创建库:

java/modules/ext/jaxws22/api/jaxws-api.jar
ide/modules/ext/jaxb/api/jaxb-api.jar

这些是相对于您的 Netbeans 安装目录(在 OS X 上将位于 .app 内的 Contents/Resources/Netbeans 中)。或者,您可以使用上面的条目手动创建库。

这只需要完成一次,因为该库将被添加到 Netbeans 全局库列表中。

于 2011-10-21T01:19:43.340 回答
7

最好的解决方案是编辑project.properties文件并替换下面的代码。

原始属性:endorsed.classpath=\${libs.JAX-WS-ENDORSED.classpath}

替换为:endorsed.classpath=\${lib.JAX-WS 2.2.classpath}

在旧版本的 Netbeans 中,库位置中有 JAX-WS-ENDORSED 库。

较新版本的 Netbeans 在 lib 文件夹中具有 JAX-WS 2.2 库

**最好的**

于 2013-06-28T07:27:21.703 回答
2

Netbeans 维护了一组库,它们只是一种管理相关 jar 文件组的便捷方式。首先单击工具>。您将看到库管理器窗口。

图书馆经理

如果您下载了 jar 文件,您将看到添加自己的库的选项。如果您没有看到您正在寻找的库,您可以下载它们并自己添加它们。在 Netbeans 中存在该库后,您可以转到Project Explorer窗口并右键单击项目的Libraries选项卡。选择添加库,您将有机会添加您在库管理器中添加的库。

于 2011-06-01T20:44:36.487 回答
2

如果仍然需要它,我在 netbeans 7 中打开 netbeans 6.9 项目时遇到了同样的情况。无法使用库窗口解决“jaxb-endorsed”(在我的情况下是 jaxb 而不是 jaxws)引用。

我在 nbproject/project.properties 文件中找到了一个 endorsed.classpath 属性。我仍然不确定它的目的是什么,但是在这个属性中我发现了对 jaxb-endorsed.classpath 的错误引用,所以我删除了,关闭了 netbeans 并再次打开,并且引用问题已经消失了。

我已经将 Jaxb 2.2 库添加到我的项目中,因此它与我对 project.properties 所做的修改配合得很好。

我希望它有所帮助。

于 2011-09-23T20:41:10.483 回答
2

我有一个类似的问题:不要删除 JAX-WS-ENDORSED - 提醒我投反对票。我不得不去导入的项目>解决参考问题对话框>从那里删除指向旧NB文件夹的参考-图片:在此处输入图像描述

然后按照 William Scott 的建议创建一次性 Web 服务,然后添加新创建的 jars :在此处输入图像描述

于 2012-01-28T16:29:24.333 回答
0

您可能需要右键单击您的项目,转到属性 -> 库。

删除 JAX-WS-ENDORSED 库,并尝试使用 JAX-WS 2.2

同时删除 Metro 并尝试添加 METRO 2.0

这可能会解决你的问题。

您可能还想右键单击您的 Web 服务引用并选择

编辑 Web 服务属性

然后在 wsimport Options 选项卡上查看 xendorsed 是否设置为 true。

更新

您可能需要关闭netbeans,然后再次打开它,它可能会起作用。我遇到了类似的问题,我只是这样做了,它奏效了。

唯一的区别(可能不需要)是我还添加了 JAXB 2.2 库,但那是因为我试图解决编译错误。

于 2011-06-08T16:27:46.373 回答
0

我有同样的问题,并通过在 netbeans 插件中安装soap webservice和resful webservice来修复它

于 2013-01-16T08:47:24.167 回答
0

我修复它:

  1. 卸载netbeans。
  2. 删除 HOME/.netbeans 和 HOME/.nbi
  3. 然后再次安装netbeans
于 2013-10-19T20:19:55.270 回答
0

旧线程,不同且有效的解决方案...我只是将一些项目从一个系统移动到另一个系统并收到此错误。对于 NetBeans v7.3+,转到工具>插件、可用插件,然后搜索“SOAP”。您应该看到“SOAP Web 服务”。加载此库后,您将获得 JAX-WS-ENDORSED 库。重新启动 NetBeans,您应该能够获得干净的构建。

加载这个包会引入许多其他库。在重新启动 IDE 时,您可能会收到其他软件包现在有可用更新的通知。

于 2013-11-11T07:30:21.840 回答
0

执行以下操作(顺便说一句,在我的情况下是NetBeans 6.9.1)

  • 1为什么现在出现这个?
    因为我试图用新的 net bean 副本在其他电脑上打开项目

  • 2问题看起来如何?未找到 JAX-WS-ENDORSED 的 Jar Lib

找不到问题jar

  • 3为什么首先需要它,它的用途是什么?好吧,我在同一服务器/域上有一个 web 服务,例如 localhost ,所以如果我从源文件夹中删除 web 服务,它当然可以工作,但我需要它

  • 4怎么办?尝试以 wsdl 形式添加虚拟的任何在线免费 Web 服务

喜欢一些测试网络服务或搜索任何其他服务

尝试添加虚拟网络服务

这是我的公众免费使用wsdl的来源

  • 5然后呢请添加它

请添加它

  • 现在呢?等待扫描项目的东西应该没问题,您可以从项目的库属性中重新检查或查看没有红色/或解决项目属性中的引用问题

  • 那么究竟发生了什么? 注意:JAX-WS-ENDORSED 它将自动添加到您的库中,同样的方法也可以解决其他问题

于 2018-10-03T04:18:15.207 回答