[sip-comm-dev] Problem with the Jabber library


#1

Hi everyone,

I have a problem with the Jabber library (smack library):

[java] Exception in thread "AWT-EventQueue-0"
java.lang.NoClassDefFoundError:
org/jivesoftware/smackx/filetransfer/FileTransferManager
     [java] at
net.java.sip.communicator.impl.protocol.jabber.OperationSetFileTransferJabberImpl.sendFile(OperationSetFileTransferJabberImpl.java:60)
     [java] at
net.java.sip.communicator.impl.gui.main.contactlist.ContactRightButtonMenu.actionPerformed(ContactRightButtonMenu.java:553)
     [java] at javax.swing.AbstractButton.fireActionPerformed(Unknown
Source)
     [java] at
javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
     [java] at
javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
     [java] at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
     [java] at javax.swing.AbstractButton.doClick(Unknown Source)
     [java] at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown
Source)
     [java] at
javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
     [java] at java.awt.Component.processMouseEvent(Unknown Source)
     [java] at javax.swing.JComponent.processMouseEvent(Unknown Source)
     [java] at java.awt.Component.processEvent(Unknown Source)
     [java] at java.awt.Container.processEvent(Unknown Source)
     [java] at java.awt.Component.dispatchEventImpl(Unknown Source)
     [java] at java.awt.Container.dispatchEventImpl(Unknown Source)
     [java] at java.awt.Component.dispatchEvent(Unknown Source)
     [java] at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown
Source)
     [java] at java.awt.LightweightDispatcher.processMouseEvent(Unknown
Source)
     [java] at java.awt.LightweightDispatcher.dispatchEvent(Unknown
Source)
     [java] at java.awt.Container.dispatchEventImpl(Unknown Source)
     [java] at java.awt.Window.dispatchEventImpl(Unknown Source)
     [java] at java.awt.Component.dispatchEvent(Unknown Source)
     [java] at java.awt.EventQueue.dispatchEvent(Unknown Source)
     [java] at
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
     [java] at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown
Source)
     [java] at
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
     [java] at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     [java] at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     [java] at java.awt.EventDispatchThread.run(Unknown Source)
     [java] *Caused by: java.lang.ClassNotFoundException: *** Package
'org.jivesoftware.smackx.filetransfer' is not imported by bundle 17, nor is
there any bundle that exports package
'org.jivesoftware.smackx.filetransfer'. However, the class
'org.jivesoftware.smackx.filetransfer.FileTransferManager' is available from
the system class loader. There are two fixes: 1) Add package
'org.jivesoftware.smackx.filetransfer' to the
'org.osgi.framework.system.packages' property and modify bundle 17 to import
this package; this causes the system bundle to export class path packages.
2) Add package 'org.jivesoftware.smackx.filetransfer' to the
'org.osgi.framework.bootdelegation' property; a library or VM bug can cause
classes to be loaded by the wrong class loader. The first approach is
preferable for preserving modularity. ****
     [java] at
org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:184)
     [java] at
org.apache.felix.framework.searchpolicy.R4SearchPolicy.findClass(R4SearchPolicy.java:45)
     [java] at
org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClass(ContentClassLoader.java:75)
     [java] at java.lang.ClassLoader.loadClass(Unknown Source)
     [java] at java.lang.ClassLoader.loadClassInternal(Unknown Source)
     [java] ... 29 more
     [java] Caused by: java.lang.ClassNotFoundException:
org.jivesoftware.smackx.filetransfer.FileTransferManager
     [java] at
org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClassOrResource(R4SearchPolicyCore.java:412)
     [java] at
org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:175)
     [java] ... 33 more

I don't know how to fix it and what is the problem?

···

--
Anthony Schmitt


#2

Hey Anthony,

This most probably comes from the fact that the package is not exported
by the smack bundle. You can fix this by modifying
${lib.noinst}/smack.manifest.mf

Hope this helps
Emil

Anthony Schmitt написа:

···

Hi everyone,

I have a problem with the Jabber library (smack library):

[java] Exception in thread "AWT-EventQueue-0"
java.lang.NoClassDefFoundError:
org/jivesoftware/smackx/filetransfer/FileTransferManager
     [java] at
net.java.sip.communicator.impl.protocol.jabber.OperationSetFileTransferJabberImpl.sendFile(OperationSetFileTransferJabberImpl.java:60)
     [java] at
net.java.sip.communicator.impl.gui.main.contactlist.ContactRightButtonMenu.actionPerformed(ContactRightButtonMenu.java:553)
     [java] at
javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
     [java] at
javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
     [java] at
javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
     [java] at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
     [java] at javax.swing.AbstractButton.doClick(Unknown Source)
     [java] at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
     [java] at
javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
     [java] at java.awt.Component.processMouseEvent(Unknown Source)
     [java] at javax.swing.JComponent.processMouseEvent(Unknown Source)
     [java] at java.awt.Component.processEvent(Unknown Source)
     [java] at java.awt.Container.processEvent(Unknown Source)
     [java] at java.awt.Component.dispatchEventImpl(Unknown Source)
     [java] at java.awt.Container.dispatchEventImpl(Unknown Source)
     [java] at java.awt.Component.dispatchEvent(Unknown Source)
     [java] at
java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
     [java] at
java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
     [java] at java.awt.LightweightDispatcher.dispatchEvent(Unknown
Source)
     [java] at java.awt.Container.dispatchEventImpl(Unknown Source)
     [java] at java.awt.Window.dispatchEventImpl(Unknown Source)
     [java] at java.awt.Component.dispatchEvent(Unknown Source)
     [java] at java.awt.EventQueue.dispatchEvent(Unknown Source)
     [java] at
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
     [java] at
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
     [java] at
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
     [java] at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     [java] at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     [java] at java.awt.EventDispatchThread.run(Unknown Source)
     [java] *Caused by: java.lang.ClassNotFoundException: *** Package
'org.jivesoftware.smackx.filetransfer' is not imported by bundle 17, nor
is there any bundle that exports package
'org.jivesoftware.smackx.filetransfer'. However, the class
'org.jivesoftware.smackx.filetransfer.FileTransferManager' is available
from the system class loader. There are two fixes: 1) Add package
'org.jivesoftware.smackx.filetransfer' to the
'org.osgi.framework.system.packages' property and modify bundle 17 to
import this package; this causes the system bundle to export class path
packages. 2) Add package 'org.jivesoftware.smackx.filetransfer' to the
'org.osgi.framework.bootdelegation' property; a library or VM bug can
cause classes to be loaded by the wrong class loader. The first approach
is preferable for preserving modularity. ****
     [java] at
org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:184)
     [java] at
org.apache.felix.framework.searchpolicy.R4SearchPolicy.findClass(R4SearchPolicy.java:45)
     [java] at
org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClass(ContentClassLoader.java:75)
     [java] at java.lang.ClassLoader.loadClass(Unknown Source)
     [java] at java.lang.ClassLoader.loadClassInternal(Unknown Source)
     [java] ... 29 more
     [java] Caused by: java.lang.ClassNotFoundException:
org.jivesoftware.smackx.filetransfer.FileTransferManager
     [java] at
org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClassOrResource(R4SearchPolicyCore.java:412)
     [java] at
org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:175)
     [java] ... 33 more

I don't know how to fix it and what is the problem?

--
Anthony Schmitt

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net