Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-由于缺少时区信息而无法解决AddressException?_Java_Timezone - Fatal编程技术网

Java-由于缺少时区信息而无法解决AddressException?

Java-由于缺少时区信息而无法解决AddressException?,java,timezone,Java,Timezone,我在找几天的时间来解决一个无法解决的地址异常! 这似乎是一个相当具有挑战性的问题,因为我甚至无法在网上找到其他信息! 我正在JAVM上使用OSGi框架。 在日历对象上使用Date.toString o SimpleDateFormat时出现此异常。我不明白为什么捆绑包在getZoneStrings函数之后尝试连接。似乎找不到区域设置,但我不确定这是否是问题所在。 我尝试添加丢失的文件/etc/timezone,但没有解决问题。 以下是异常的完整堆栈跟踪: adsdebian:/usr/local

我在找几天的时间来解决一个无法解决的地址异常! 这似乎是一个相当具有挑战性的问题,因为我甚至无法在网上找到其他信息! 我正在JAVM上使用OSGi框架。 在日历对象上使用Date.toString o SimpleDateFormat时出现此异常。我不明白为什么捆绑包在getZoneStrings函数之后尝试连接。似乎找不到区域设置,但我不确定这是否是问题所在。 我尝试添加丢失的文件/etc/timezone,但没有解决问题。 以下是异常的完整堆栈跟踪:

adsdebian:/usr/local/bundle# org.osgi.framework.BundleException: Activator start error in bundle zApp_RoadPricing [24].
at org.apache.felix.framework.Felix.startBundle(Felix .java:1506)
at org.apache.felix.framework.BundleImpl.start(Bundle Impl.java:774)
at org.apache.felix.shell.impl.StartCommandImpl.execu te(StartCommandImpl.java:105)
at org.apache.felix.shell.impl.Activator$ShellService Impl.executeCommand(Activator.java:291)
at org.apache.felix.shell.remote.Shell.run(Shell.java :109)
at java.lang.Thread.run(Thread.java:743)
Caused by: java.nio.channels.UnresolvedAddressException
at gnu.java.nio.SocketChannelImpl.connect(SocketChann elImpl.java:160)
at gnu.java.net.PlainSocketImpl.connect(PlainSocketIm pl.java:281)
at java.net.Socket.connect(Socket.java:454)
at java.net.Socket.connect(Socket.java:414)
at gnu.java.net.protocol.http.HTTPConnection.getSocke t(HTTPConnection.java:719)
at gnu.java.net.protocol.http.HTTPConnection.getOutpu tStream(HTTPConnection.java:800)
at gnu.java.net.protocol.http.Request.dispatch(Reques t.java:291)
at gnu.java.net.protocol.http.HTTPURLConnection.conne ct(HTTPURLConnection.java:219)
at gnu.java.net.protocol.http.HTTPURLConnection.getHe aderField(HTTPURLConnection.java:582)
at java.net.URLConnection.getHeaderFieldInt(URLConnec tion.java:426)
at java.net.URLConnection.getContentLength(URLConnect ion.java:302)
at gnu.java.net.loader.RemoteURLLoader.getResource(Re moteURLLoader.java:79)
at java.net.URLClassLoader.findResources(URLClassLoad er.java:720)
at java.lang.ClassLoader.getResources(ClassLoader.jav a:640)
at gnu.classpath.ServiceFactory.lookupProviders(Servi ceFactory.java:286)
at java.util.ServiceLoader$1.hasNext(ServiceLoader.ja va:163)
at java.text.DateFormatSymbols.getZoneStrings(DateFor matSymbols.java:123)
at java.text.DateFormatSymbols.<init>(DateFormatSymbo ls.java:192)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat .java:448)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat .java:430)
at crf.opengate.app.roadpricing.RoadPricing.<init>(Ro adPricing.java:109)
at java.lang.reflect.Constructor.constructNative(Nati ve Method)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:328)
at java.lang.Class.newInstance(Class.java:1154)
at org.apache.felix.framework.Felix.createBundleActiv ator(Felix.java:3341)
at org.apache.felix.framework.Felix.startBundle(Felix .java:1453)
...5 more
请问有人能帮我吗? 谢谢 安德莉亚
再加上andre26的声誉

如果不查看JamVM源代码就很难确定,但是stacktrace告诉我,在getZoneStrings中,有人试图通过类加载器加载类或其他文件,因此调用了类加载器和URLClassLoader,这是堆栈的三层

类加载的尝试并没有在类路径中找到URL地址。这可能是因为你以后在类路径中遇到了一个问题,因为它没有找到你放类的文件,所以它在下一个地方查找,其中有一个unsolvedAddressException,这似乎违反了规范,类加载器应该抛出它的checked异常。在这里,GNU类路径似乎让一个运行时异常泄漏出来,而该异常应该转换为一个异常,指示找不到该类,或者它可能只是在找不到资源时这样做

至于找不到哪个类,它似乎是配置的服务提供者之一,可能在GNU类路径中:

at gnu.classpath.ServiceFactory.lookupProviders(Servi ceFactory.java:286)
以上是问题的核心。它正在查找提供程序,并试图从类路径中获取可能不存在的资源


如果不检查源代码,就不可能说出它到底在寻找什么。幸运的是,您似乎使用了所有开放源代码,因此应该很容易找到。

如果不查看JAMV源代码,很难确定,但是stacktrace告诉我,在getZoneStrings中,有人试图通过类加载器加载一个类或其他文件,因此调用了类加载器和URLClassLoader,这是堆栈下面的三层

类加载的尝试并没有在类路径中找到URL地址。这可能是因为你以后在类路径中遇到了一个问题,因为它没有找到你放类的文件,所以它在下一个地方查找,其中有一个unsolvedAddressException,这似乎违反了规范,类加载器应该抛出它的checked异常。在这里,GNU类路径似乎让一个运行时异常泄漏出来,而该异常应该转换为一个异常,指示找不到该类,或者它可能只是在找不到资源时这样做

至于找不到哪个类,它似乎是配置的服务提供者之一,可能在GNU类路径中:

at gnu.classpath.ServiceFactory.lookupProviders(Servi ceFactory.java:286)
以上是问题的核心。它正在查找提供程序,并试图从类路径中获取可能不存在的资源


如果不检查源代码,就不可能说出它到底在寻找什么。幸运的是,您似乎使用了所有开源的东西,所以应该很容易找到。

找到了一个类似的问题,通过切换到Felix 2.0.2版解决了这个问题。也许你可以试试看?

找到了一个类似的问题,通过切换到Felix 2.0.2版得到了解决。也许你可以试试吗?

谢谢JRL,你建议我的链接中的解决方案解决了这个问题! 我不能期望felix出现这样的bug,因为我认为我已经在相同的平台和条件下使用了Date和Calendar类

仅总结一下解决方案:

至少从2.0.2下载更新版本的felix,从获取名为Main的.jar,即OSGi框架的捆绑包 将其保存在当前felix.jar所在的bin/目录中 关闭正在运行的OSGi FX后,将felix.jar重命名为felix.jar_old! 将更新版本的felix ex.org.apache.felix.main-2.0.3.jar重命名为felix.jar 使用应用程序重新启动OSGi框架 希望这对其他人有帮助! 再见 安德莉亚
对不起,第二个用户名…我很久以前就注册了,但是我忘记了谷歌标识!:-

谢谢JRL,你建议我的链接中的解决方案解决了这个问题! 我不能期望felix出现这样的bug,因为我认为我已经在相同的平台和条件下使用了Date和Calendar类

仅总结一下解决方案:

从下载更新版本的felix 至少2.0.2-从名为Main的.jar中获取,即OSGi框架的包 将其保存在当前felix.jar所在的bin/目录中 关闭正在运行的OSGi FX后,将felix.jar重命名为felix.jar_old! 将更新版本的felix ex.org.apache.felix.main-2.0.3.jar重命名为felix.jar 使用应用程序重新启动OSGi框架 希望这对其他人有帮助! 再见 安德莉亚
对不起,第二个用户名…我很久以前就注册了,但是我忘记了谷歌标识!:-

谢谢,Andrea给andre26增加了名声-嗯?顺便说一句:你可以包含一些代码,或者至少做一些调试来确定这个异常的实际来源…谢谢,Andrea为andre26的声誉增添了一份光彩-嗯?顺便说一句:您可以包含一些代码,或者至少进行一些调试,以确定此异常的实际来源。。。