2010-07-06 3 views
0

JScience를 사용하여 mathml 문서를 구문 분석하려고했지만 성공하지 못했습니다. 다음은 제 코드입니다.JScience를 사용하여 mathml 문서 구문 분석

여기에서 오류가 발생하여 더 이상 수행 할 수 없습니다. 스택 트레이스는 다음과 같은 : 또한

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: JSci/maths/fields/Ring$Member 
at JSci.io.MathMLParser.translateToJSciObjects(Unknown Source) 
at JSci.io.MathMLParser.translateToJSciObjects(Unknown Source) 
at mathML.ProcessMathML.processFile(ParsingMathML.java:109) 
at mathML.ProcessMathML.actionPerformed(ParsingMathML.java:72) 
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
at javax.swing.AbstractButton.doClick(Unknown Source) 
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source) 
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source) 
at java.awt.Component.processMouseEvent(Unknown Source) 
at javax.swing.JComponent.processMouseEvent(Unknown Source) 
at java.awt.Component.processEvent(Unknown Source) 
at java.awt.Container.processEvent(Unknown Source) 
at java.awt.Component.dispatchEventImpl(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Window.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.EventQueue.dispatchEvent(Unknown Source) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.run(Unknown Source) 
Caused by: java.lang.ClassNotFoundException: JSci.maths.fields.Ring$Member 
at java.net.URLClassLoader$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClassInternal(Unknown Source) 
... 31 more 

어느 한 방법 MathMLApplyElementImpl, MathMLDocumentImpl 또는 JSci.mathml 패키지의 다른 클래스를 사용하는 어떤 생각을 가지고 있습니까?

mathml 문서를 구문 분석하는 방법에 대한 코드 예제를 제공 할 수 있다면 좋을 것입니다.

어떤 아이디어라도 높이 평가 될 것입니다. 감사합니다

답변

2

정확하게 버그를 Cocnerning하면 JSci.maths.fields.Ring$Member 클래스가 존재하지 않아서 JSci.io.MathMLParser.translateToJSciObjects 메서드에서 ClassNotFoundException을 throw합니다.

이 소스 코드를 보러 갈 수 있습니다. MathMLParser에서 가장 주목할만한 Ring.Member의 사용법이 반환 값으로 사용됩니다. 그러나 그것은 수많은 장소에서 발견 될 수 있습니다. Ring.Member가 JSci.maths.fields인데 MathMLParser와 같은 JAR 파일 인 것 같습니다. 간단한 ClassNotFoundException보다 훨씬 복잡합니다.

먼저, JSci.maths.fields.Ring$Member이 존재하는지 확인하기 위해 JScience jar를 열 수 있습니까?

그렇지 않은 경우 동일한 애플리케이션에서 여러 클래스 로더를 사용합니까? (OSGi와 같은 것들)

+0

위대한! Riduiel 감사합니다. 짐을 추측하여 패키지 을 가져 와서 오류를 해결할 수 있습니다. 그러나 parseList []는 parser.parse (file)에서 사용하는 파일과 상관없이 빈 배열입니다. 너는 어떤 생각을 가지고 있니? 감사합니다. – chepukha