在
Ubuntu 12.04下启动IBs TWS时出错。我抬头查看标准输出,发现以下日志消息。我检查了语言环境和tz设置,但无法解决。
22:22:47:443 AWT-EventQueue-0: ERROR - No time zones could be retrieved from the OS
java.lang.Exception
at twslaunch.jutils.fc.b(fc.java:354)
at twslaunch.jutils.fc.s(fc.java:344)
at twslaunch.jutils.gb.a(gb.java:147)
at twslaunch.jutils.gb.f(gb.java:308)
at feature.date.fc.<init>(fc.java:190)
at feature.date.gc.<init>(gc.java:142)
at feature.date.dc.<init>(dc.java:141)
at feature.date.dc.<init>(dc.java:128)
at feature.date.dc.<init>(dc.java:116)
at jtscomponents.pq.<init>(pq.java:341)
at jtscomponents.JTSDateCellEditor.newDateTimeEditorInstance(JTSDateCellEditor.java:340)
at jcolumn.fc.run(fc.java:51)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:691)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at twslaunch.jtscomponents.j.a(j.java:74)
at twslaunch.feature.welcome.j.h(j.java:425)
at twslaunch.feature.welcome.j.a(j.java:408)
at jclient.pl.<init>(pl.java:2628)
at jconnection.b.h(b.java:181)
at jconnection.b.e(b.java:56)
at jconnection.a.b(a.java:199)
at jconnection.rb.run(rb.java:158)
at twslaunch.jutils.ec.a(ec.java:483)
at jconnection.b.a(b.java:156)
at jconnection.b.c(b.java:140)
at jconnection.b.a(b.java:56)
at jconnection.qb.run(qb.java:101)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721)
at java.awt.EventQueue.access$200(EventQueue.java:103)
解决方案是重新安装OpenJDK
并清除当前 java 安装的所有文件。我只是偶然发现的。所以希望这有助于其他人节省一些时间。
sudo apt-get purge openjdk-* icedtea-* icedtea6-*
sudo aptitude install openjdk-7-jdk
原因至今尚不清楚。我还尝试删除所有TWS设置,但这不起作用。引用的TWS.xml(在某些论坛中也找不到)。
我知道
这是一个非常古老的问题,但由于它不为人所知(足够),我想补充一点,OpenJDK没有被IB/TWS支持。您必须使用 Oracle JDK。