[ 
https://issues.apache.org/jira/browse/IVYDE-139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659838#action_12659838
 ] 

Nicolas Lalevée commented on IVYDE-139:
---------------------------------------

The classloader of VfsResolver is the OSGi classloader assigned to the Ivy 
plugin, as this class is in the IvyPlugin. I think that the classpath element 
in the ivysettings will only work for types declared outside the Ivy plugin. 
Every other type that rely on some Ivy class have to be packaged for an OSGi 
environment.
See also IVY-785 and the OSGi-ed common-vfs that was put there 
http://www.hibnet.org/ivyde/updatesite/plugins .
I think the dependencies of Ivy should be host in the IvyDE update site so they 
can be easily installed by the users.

> IvyDE does not work with VFS resolvers
> --------------------------------------
>
>                 Key: IVYDE-139
>                 URL: https://issues.apache.org/jira/browse/IVYDE-139
>             Project: IvyDE
>          Issue Type: Bug
>    Affects Versions: 2.0.0.beta1
>            Reporter: Robert Munteanu
>         Attachments: ivysettings-custom.xml
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> With a custom settings file which declares a vfs resolver, IvyDE fails hard 
> with a ClassNotFoundException ( below ) and the ivy.xml classpath container 
> dissapears from the project.
> I guess it's a matter of including the right jars from Ivy.
> {code}
> Message: An internal error occurred during: "Resolve project 'project' and 
> ivy file 'ivy.xml' dependencies".
> Exception stack trace: java.lang.NoClassDefFoundError: 
> org/apache/commons/vfs/FileSystemException
> at org.apache.ivy.plugins.resolver.VfsResolver.<init>(VfsResolver.java:34)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at java.lang.Class.newInstance0(Class.java:355)
> at java.lang.Class.newInstance(Class.java:308)
> at org.apache.ivy.util.Configurator.addChild(Configurator.java:586)
> at org.apache.ivy.util.Configurator.startCreateChild(Configurator.java:503)
> at 
> org.apache.ivy.core.settings.XmlSettingsParser.inConfiguratorStarted(XmlSettingsParser.java:558)
> at 
> org.apache.ivy.core.settings.XmlSettingsParser.startElement(XmlSettingsParser.java:200)
> at 
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
> at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1359)
> at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747)
> at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
> at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
> at 
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
> 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:107)
> 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:395)
> at javax.xml.parsers.SAXParser.parse(SAXParser.java:277)
> at 
> org.apache.ivy.core.settings.XmlSettingsParser.doParse(XmlSettingsParser.java:159)
> at 
> org.apache.ivy.core.settings.XmlSettingsParser.parse(XmlSettingsParser.java:149)
> at org.apache.ivy.core.settings.IvySettings.load(IvySettings.java:377)
> at 
> org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainerConfiguration.getIvy(IvyClasspathContainerConfiguration.java:537)
> at 
> org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainerConfiguration.getIvy(IvyClasspathContainerConfiguration.java:486)
> at 
> org.apache.ivyde.eclipse.cpcontainer.IvyResolveJob.run(IvyResolveJob.java:196)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
> Caused by: java.lang.ClassNotFoundException: 
> org.apache.commons.vfs.FileSystemException
> at 
> org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:481)
> at 
> org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:397)
> at 
> org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:385)
> at 
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> ... 30 more
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to