[ 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.