Dukascopy
 
 
Wiki JStore Search Login

JForex and TrueLicense "... ClassNotFoundException: de.schlichtherle.xml.GenericCertificate"
 Post subject: JForex and TrueLicense "... ClassNotFoundException: de.schlichtherle.xml.GenericCertificate" Post rating: 0   New post Posted: Wed 22 Aug, 2012, 19:31 

User rating: 1
Joined: Sun 20 May, 2012, 09:29
Posts: 22
Location: Czech Republic, programmer
Dear support,

Please, can you take a look at the problem below.
I create small program to test TrueLicense https://truelicense.java.net/ that I can run and install license fine from command line.
public class Main {

  public static void main(String[] args) throws Exception {
    new PublicLicenseWizard();
  }
}

java -jar TrueLicenseTest-0-1.jar


But starting same program in strategy and installing license I get error message below.
@RequiresFullAccess
@Library("... pathname/TrueLicenseTest-0-1.jar")
public class Strategy implements IStrategy {

  public void onStart(IContext context) throws JFException {
    new PublicLicenseWizard();
  }

  public void onAccount(IAccount account) throws JFException {}
  public void onMessage(IMessage message) throws JFException {}
  public void onStop() throws JFException {}
  public void onTick(Instrument instrument, ITick tick) throws JFException {}
  public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {}
}


Error while installing license.
de.schlichtherle.xml.PersistenceServiceException: java.lang.ClassNotFoundException: de.schlichtherle.xml.GenericCertificate
   at de.schlichtherle.xml.PersistenceService.load(PersistenceService.java:393)
   at de.schlichtherle.license.PrivacyGuard.key2cert(PrivacyGuard.java:178)
   at de.schlichtherle.license.LicenseManager.install(LicenseManager.java:434)
   at de.schlichtherle.license.LicenseManager.install(LicenseManager.java:410)
   at de.schlichtherle.license.LicenseManager.install(LicenseManager.java:386)
   at test.truelicense.PublicLicenseWizard.actionPerformed(PublicLicenseWizard.java:80)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
   at java.awt.Component.processMouseEvent(Component.java:6290)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
   at java.awt.Component.processEvent(Component.java:6055)
   at java.awt.Container.processEvent(Container.java:2039)
   at java.awt.Component.dispatchEventImpl(Component.java:4653)
   at java.awt.Container.dispatchEventImpl(Container.java:2097)
   at java.awt.Component.dispatchEvent(Component.java:4481)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
   at java.awt.Container.dispatchEventImpl(Container.java:2083)
   at java.awt.Window.dispatchEventImpl(Window.java:2482)
   at java.awt.Component.dispatchEvent(Component.java:4481)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:648)
   at java.awt.EventQueue.access$000(EventQueue.java:84)
   at java.awt.EventQueue$1.run(EventQueue.java:607)
   at java.awt.EventQueue$1.run(EventQueue.java:605)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
   at java.awt.EventQueue$2.run(EventQueue.java:621)
   at java.awt.EventQueue$2.run(EventQueue.java:619)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:618)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: de.schlichtherle.xml.GenericCertificate
   at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
   at com.sun.jnlp.JNLPClassLoader.findClass(JNLPClassLoader.java:345)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:247)
   at com.sun.beans.ObjectHandler.classForName(ObjectHandler.java:68)
   at com.sun.beans.ObjectHandler.classForName(ObjectHandler.java:55)
   at com.sun.beans.ObjectHandler.classForName2(ObjectHandler.java:159)
   at com.sun.beans.ObjectHandler.startElement(ObjectHandler.java:194)
   at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:453)
   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1363)
   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2756)
   at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
   at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
   at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
   at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
   at javax.xml.parsers.SAXParser.parse(SAXParser.java:364)
   at javax.xml.parsers.SAXParser.parse(SAXParser.java:142)
   at java.beans.XMLDecoder.getHandler(XMLDecoder.java:238)
   at java.beans.XMLDecoder.readObject(XMLDecoder.java:201)
   at de.schlichtherle.xml.PersistenceService.load(PersistenceService.java:391)
   ... 41 more


Thank you


 
 Post subject: Re: JForex and TrueLicense Post rating: 0   New post Posted: Thu 30 Aug, 2012, 10:10 

User rating: 1
Joined: Sun 20 May, 2012, 09:29
Posts: 22
Location: Czech Republic, programmer
Problem solved using answer here https://dev.eclipse.org/mhonarc/lists/gef-dev/msg00469.html

Following line does the trick:
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());


 

Jump to:  

cron
  © 1998-2025 Dukascopy® Bank SA
On-line Currency forex trading with Swiss Forex Broker - ECN Forex Brokerage,
Managed Forex Accounts, introducing forex brokers, Currency Forex Data Feed and News
Currency Forex Trading Platform provided on-line by Dukascopy.com