【问题标题】:How do I reference libraries in NetBeans?如何在 NetBeans 中引用库?
【发布时间】:2019-10-09 04:27:15
【问题描述】:

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

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

"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 未出现在我的库列表中,因此我无法将其删除。隐藏的东西正在引用它。我怎样才能找到这个?

【问题讨论】:

  • 这里有类似的问题。 JAX-WS-ENDORSED 出现在我的库列表中,但添加它并没有帮助...

标签: java netbeans-7


【解决方案1】:

我刚刚遇到这个问题,并从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 全球库列表中。

【讨论】:

    【解决方案2】:

    最好的解决办法是编辑 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 库

    ** 最好的 **

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 首先,我怎么知道要在这里使用哪些库?我只能猜测“metro”和“JAX-WS-ENDORSED”指的是什么。我对“metro”一无所知,但我认为“JAX-WS-ENDORSED”意味着我应该使用 JAX-WS 2.2。我尝试添加 JAX-WS 2.2 作为参考,但仍然遇到同样的错误。
      • 您可能必须从项目中删除 JAX-WS-ENDORSED 库。在 Project Explorer 中的库列表下,您应该会看到它已列出。右键单击并删除。至于metro,我不能确定,但​​是这里提到了metro:metro.java.net,这是一个Web 服务库,所以我猜这是对的。下载它,添加一个库,然后将该库添加到您的项目中。
      • 好的,我引用了 Metro 库,通过右键单击库并选择属性,我能够创建“创建”一个库并向其中添加 Metro 的 jar 文件,这似乎有效。但是,我在任何地方都找不到 JAX-WS-ENDORSED。我在“库”和“属性”对话框中进行了搜索,但没有看到。任何其他可能使其认为需要此参考的地方?我知道它需要的 jar 文件在哪里,但是我在任何地方都找不到“JAX-WS-ENDORSED”引用,所以我无法删除或更正它。
      • 如果您右键单击项目并单击“解决依赖关系”,您是否可以选择将其删除?
      • 我看到“解决参考问题...”再次打开对话框(打开项目后立即打开的对话框)。在该对话框中,当我单击“解决...”(对话框中的唯一按钮)时,它只会打开库管理器——在库管理器中没有任何 JAX-WS-ENDORSED 的迹象。
      【解决方案4】:

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

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

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

      希望对你有帮助。

      【讨论】:

        【解决方案5】:

        我遇到了类似的问题:请勿删除 JAX-WS-ENDORSED - 提醒我投反对票。我不得不去导入的项目>解决参考 问题对话 > 从那里删除指向旧 NB 文件夹的引用 - 图片:

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

        【讨论】:

          【解决方案6】:

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

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

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

          这可能会解决您的问题。

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

          编辑 Web 服务属性

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

          更新

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

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

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

              我修好了:

              1. 卸载netbeans。
              2. 删除 HOME/.netbeans 和 HOME/.nbi
              3. 然后重新安装 netbeans

              【讨论】:

              • 不起作用。事实上,这是进行完美安装并使其开始失败并出现 JAX 错误的好方法。
              【解决方案9】:

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

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

              【讨论】:

                【解决方案10】:

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

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

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

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

                • 4 做什么? 尝试以 wsdl 形式添加虚拟的任何在线免费网络服务

                点赞Some test web service or search for any other one

                This is the source of my public free to use wsdl

                • 5 什么然后呢? 请添加它

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

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

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-04-11
                  • 2013-07-08
                  相关资源
                  最近更新 更多