问题
I have the latest version of Redhawk and CentOS, and I have run into a few problems right off the bat. Initially I couldn't see the Chalkboard and Sandbox, but that issue was resolved by commenting out (#) one of two lines in the eclipse.ini file:
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton
I found this fix from here. It was noted that while there were no obvious errors that arose, there may be some unforeseen problems.
The issue I now have is that the property values of the components, like frequency or amplitude, cannot be altered. I can't alter them from the properties view or from the SCA Component Editor. I tried undoing the #, but the problem persisted. I have since looked into JacORB for solutions since the root of the Chalkboard problem seems to stem from there.
This is the last in the "caused by:" chain in the error log:
Caused by:
java.lang.ClassNotFoundException: org.jacorb.orb.ORBSingleton
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.omg.CORBA.ORB.create_impl_with_systemclassloader(ORB.java:305)
... 91 more
Anyone have any ideas on how to fix the JacORB issue without commenting it out or any ideas on how I can get permission to alter the values? Solutions to either one would be appreciated.
回答1:
UPDATE: This is not an issue starting with Java 7u65, 6u85. See ORB Singleton Class Loading Bug
The problem is due to the IDE trying to replace some CORBA-related classes found in the Java bootstrap class path with JacORB-supplied ones. Java briefly disallowed this for a few updates starting with 7u55 and 6u71. JacORB references the need to modify the bootstrap class path in their manual, section 27.1: JacORB Programming Guide
I was able to work around this with my 1.9.0 IDE by modifying the IDE's bootstrap class path to include JacORB and a JacORB dependency. My steps below assume an IDE in /usr/local/redhawk/eclipse. First, extract the JacORB jar from the plugin:
cd /usr/local/redhawk/eclipse/plugins
jar xf org.jacorb_* lib/jacorb.jar
Next, note the filename for the slf4j plugin:
ls org.slf4j.api_*
Now modify /usr/local/redhawk/eclipse/eclipse.ini
so that the two jars are prepended to the bootstrap classpath. You'll want to use the absolute path to the two jars. A snippet from mine is below:
...
-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
-Xbootclasspath/p:/usr/local/redhawk/eclipse/plugins/lib/jacorb.jar:/usr/local/redhawk/eclipse/plugins/org.slf4j.api_1.6.4.v20120130-2120.jar
...
If you startup from a console, you may see an error from slf4j, but I haven't found it to be problematic. If you've done it correctly, you should see the Sandbox show up in the SCA Explorer View, just above the Target SDR.
来源:https://stackoverflow.com/questions/24335611/cannot-change-component-property-values