【问题标题】:java.net.MalformedURLException: unknown protocol: rsrcjava.net.MalformedURLException:未知协议:rsrc
【发布时间】:2011-11-22 08:35:03
【问题描述】:

我明白了;

java.net.MalformedURLException: unknown protocol: rsrc

我不完全确定如何处理这个未知协议。我正在使用简单的 RMI 在两个 JVM 之间进行通信。它是我缺少的包含此协议的罐子吗?如果是,是哪一个?我还没有发现 Google 搜索对于这个问题非常有用。

任何帮助将不胜感激。谢谢。

EDIT2:澄清一下,我的 RMI 代码在从 Eclipse 运行时有效。当我导出和使用可运行的 jar 文件时,它就会中断。

编辑:这是一个代码 sn-p:

registry=LocateRegistry.getRegistry(
                rmiServerAddress,
            (new Integer(rmiServerPort)).intValue());

【问题讨论】:

  • 嗯...您需要向我们提供更多信息,然后我们才能为您提供帮助。一些代码 sn-p 而不仅仅是异常的最后一行呢? :-) 你是否也已经用谷歌搜索过这个错误? forums.oracle.com/forums/thread.jspa?threadID=1176215
  • 是的,我有,这就是为什么我提到谷歌搜索并不好。
  • 通过任何更改您正在使用 Eclipse 的导出功能?
  • 我正在使用 Eclipse 的导出功能。我知道这可能与此有关。但如果是这种情况,我无法弄清楚我需要哪个罐子。
  • 我相信 Eclipse 使用了一个自定义的类加载器实现,它读取捆绑的 jar 并将它们添加到类路径中。尽量不要使用“捆绑 jars”选项,看看它是否有帮助。即将库复制到子文件夹选项。

标签: java exception rmi


【解决方案1】:

我终于明白了。在使用 Eclipse 并导出可运行的 jar 文件时,请确保在 Library Handling 下选择:

Extract required libraries into generated JAR

这将解决这个特定问题,可能还有许多其他问题。

【讨论】:

  • 完美。你救了我
【解决方案2】:

抱歉,在地球的这一边已经太晚了,我错过了你的话! :-) this issue 呢?基本上,服务器是否从文件系统中的路径运行,路径名中有空格?

【讨论】:

    【解决方案3】:

    这个选项绝对有效:Export > Runnable Jar File > Copy required libraries into a sub-folder

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-20
      • 1970-01-01
      • 2019-03-28
      • 2012-09-03
      • 2016-10-08
      • 1970-01-01
      相关资源
      最近更新 更多