You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by TM <mo...@gmail.com> on 2012/07/01 02:32:52 UTC
new user: help with vfs resolver
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)
Re: new user: help with vfs resolver
Posted by TM <mo...@gmail.com>.
On 07/05/2012 03:57 AM, Nicolas Lalevée wrote:
>
> 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
This gets past the error. Thanks!
>
>> 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.
Yes, both absolute path, and relative path with `${ivy.settings.dir}`.
I think the path is correct (otherwise, XmlSettingsParser throws a
FileNotFoundException). But then I would expect this to be equivalent
to the above solution using `-cp`.
I'll try and look in the parser.
Thanks again for your help.
Re: new user: help with vfs resolver
Posted by Nicolas Lalevée <ni...@hibnet.org>.
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)
>>
Re: new user: help with vfs resolver
Posted by TM <mo...@gmail.com>.
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`
or else with
`<classpath file="/path/to/commons-vfs-1.0.jar"/>`
Does this provide any additional insight?
----
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)
>
Re: new user: help with vfs resolver
Posted by Nicolas Lalevée <ni...@hibnet.org>.
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)