Le 5 juil. 2012 à 01:14, TM a écrit : > Thank you for the quick reply. However, using the <classpath> tag or > -cp option doesn't solve the problem. > > That is, I get the same error with: > > `$ java -jar ivy-2.3.0-rc1.jar -settings /path/to/ivysettings.xml -cp > lib/commons-vfs-1.0.jar`
your syntax is wrong. When using -jar, no additional classpath can be added; actually, everything after -jar in considered as arguments of the main java class, not the jvm. Tyr this instead: java -cp ivy-2.3.0-rc1.jar:lib/commons-vfs-1.0.jar org.apache.ivy.Main -settings /path/to/ivysettings.xml > or else with > > `<classpath file="/path/to/commons-vfs-1.0.jar"/>` > > Does this provide any additional insight? did you try an absolute path ? I don't remember well, but I guess relative path in the ivysettings are relative the the ivysettings.xml file. Nicolas > ---- > > I notice that providing a non-existent file in a <classpath> tag throws > > `io problem while parsing config file: /path/to/no-such.jar`. > > Passing a non-existent file in the -cp option, instead, seems to fail > silently. > > ---- > > Browsing jira, the only vfs-related issue I find is IVY-643. (Judging > from the final comment, it can be closed.) > > <https://issues.apache.org/jira/browse/IVY-643> > > > On 07/04/2012 01:59 PM, Nicolas Lalevée wrote: >> You need to add commons-vfs into ivy's classpath, either on the command >> line, or via the "classpath" in your ivysettings.xml [1]. >> >> Nicolas >> >> [1] >> http://ant.apache.org/ivy/history/latest-milestone/settings/classpath.html >> >> Le 1 juil. 2012 à 02:32, TM a écrit : >> >>> >>> Hello, >>> >>> I'm getting the runtime error below with a <vfs> resolver defined in my >>> settings file. >>> >>> I'm using the binary-with-dependencies release >>> <http://ant.apache.org/ivy/download.cgi>. I see lib/commons-vfs-1.0.jar >>> contains the 'missing' class, in org/apache/commons/vfs/. >>> >>> Filesystem and url resolvers work as expected; I can retrieve and >>> publish to $HOME/.ivy2/cache and a Nexus repository on the network. >>> >>> My goal is to have FTP available. >>> >>> Any insight is appreciated. >>> >>> Tom >>> >>> ---- >>> $ java -jar ivy-2.3.0-rc1.jar -settings /path/to/ivysettings.xml >>> >>> :: loading settings :: file = /path/to/ivysettings.xml >>> Exception in thread "main" java.lang.NoClassDefFoundError: >>> org/apache/commons/vfs/FileSystemManager >>> 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:57) >>> at >>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) >>> at java.lang.reflect.Constructor.newInstance(Constructor.java:525) >>> at java.lang.Class.newInstance0(Class.java:372) >>> at java.lang.Class.newInstance(Class.java:325) >>> at org.apache.ivy.util.Configurator.addChild(Configurator.java:574) >>> at >>> org.apache.ivy.util.Configurator.startCreateChild(Configurator.java:503) >>> at >>> org.apache.ivy.core.settings.XmlSettingsParser.inConfiguratorStarted(XmlSettingsParser.java:579) >>> at >>> org.apache.ivy.core.settings.XmlSettingsParser.startElement(XmlSettingsParser.java:201) >>> at >>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:506) >>> at >>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1322) >>> at >>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2715) >>> at >>> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607) >>> at >>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488) >>> at >>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835) >>> at >>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764) >>> at >>> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123) >>> at >>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210) >>> at >>> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568) >>> at >>> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:302) >>> at javax.xml.parsers.SAXParser.parse(SAXParser.java:274) >>> at >>> org.apache.ivy.core.settings.XmlSettingsParser.doParse(XmlSettingsParser.java:160) >>> at >>> org.apache.ivy.core.settings.XmlSettingsParser.parse(XmlSettingsParser.java:150) >>> at org.apache.ivy.core.settings.IvySettings.load(IvySettings.java:391) >>> at org.apache.ivy.Ivy.configure(Ivy.java:412) >>> at org.apache.ivy.Main.initSettings(Main.java:399) >>> at org.apache.ivy.Main.run(Main.java:208) >>> at org.apache.ivy.Main.main(Main.java:179) >>> Caused by: java.lang.ClassNotFoundException: >>> org.apache.commons.vfs.FileSystemManager >>> at java.net.URLClassLoader$1.run(URLClassLoader.java:366) >>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355) >>> at java.security.AccessController.doPrivileged(Native Method) >>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354) >>> at java.lang.ClassLoader.loadClass(ClassLoader.java:423) >>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) >>> at java.lang.ClassLoader.loadClass(ClassLoader.java:356) >>