如何在NetBeans中引用库?

时间:2011-06-01 20:24:50

标签: java netbeans-7

我有一个在旧版本的NetBeans中创建的Java Web Services项目,我在几个月内没有访问它,因此我的路径和已安装的库是不同的。

当我尝试打开项目时,出现“Resolve Reference Problems”对话框,列出了两个参考问题:

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

我有JDK 6 Update 25 with NetBeans 7.0的全新安装,并且正在运行Windows 7.

我可以采取哪些措施来解决这个问题?我甚至都不知道从哪里开始,因为到目前为止我所采取的每一种方法都没有让我在任何地方。

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

10 个答案:

答案 0 :(得分:11)

我刚遇到此问题,并从http://netbeans.org/bugzilla/show_bug.cgi?id=187145找到了一些帮助。显然,Netbeans将在创建新的Web服务时创建JAX-WS-ENDORSED库。所以转到文件>新建文件,选择Web服务> Web服务客户端并填写虚拟值(这可以在一次性项目中完成)。然后可以删除此客户端,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 Global Libraries列表中。

答案 1 :(得分:5)

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

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

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

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

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

** ALL THE BEST **

答案 2 :(得分:2)

Netbeans维护着一组库,这些库只是一种管理相关jar文件组的简便方法。从clickong 工具>开始的即可。您将看到库管理器窗口。

Library Manager

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

答案 3 :(得分:2)

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

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

我已经将Jaxb 2.2库添加到了我的项目中,所以它对我对project.properties所做的修改很有效。

我希望它有所帮助。

答案 4 :(得分:1)

我有一个类似的问题:不要删除JAX-WS-ENDORSED - 提醒我downvote。我不得不去导入的项目>解决参考 问题对话>从那里删除指向旧NB文件夹的引用 - pic:enter image description here

然后按照William Scott的建议创建一次性Web服务,然后添加新创建的jar:enter image description here

答案 5 :(得分:0)

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

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

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

这可以解决您的问题。

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

编辑Web服务属性

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

<强>更新

您可能需要关闭netbeans然后再次打开它,它可能会起作用。我遇到了类似的问题而且我刚刚做了这件事并且有效。

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

答案 6 :(得分:0)

我有同样的问题并通过安装soap web服务和netbeans插件中的restful webservice修复它

答案 7 :(得分:0)

我解决了这个问题:

  1. unistall netbeans。
  2. 删除HOME / .netbeans和HOME / .nbi
  3. 然后再次安装netbeans

答案 8 :(得分:0)

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

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

答案 9 :(得分:0)

执行以下操作(在我的情况下为BTW其 NetBeans 6.9.1)

  • 1 为什么现在出现了吗?
    因为我试图用Net Bean的新副本在其他PC上打开项目

  • 2 问题的样子? 找不到JAX-WS-ENDORSED的Jar Lib

the problem jar not found

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

  • 4 做什么? 尝试以wsdl

  • 形式添加虚拟任何在线免费Web服务

Some test web service or search for any other one

Try to add dummy web service

This is the source of my public free to use wsdl

  • 5 什么然后? 只需添加它

Just add it please

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

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