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 Maarten Heyse <Ma...@alcatel-lucent.com> on 2012/11/23 11:36:48 UTC
Exception in thread "main" java.lang.NoClassDefFoundError: com/jcraft/jsch/JSchException
when using Ivy standalone with ssh resolver
I get the NoClassDefFoundError when using a ssh resolver in standalone ivy.
Environment and setup:
- OS:
CentOs 5
$ uname -a
Linux xxx 2.6.18-308.11.1.el5 #1 SMP Tue Jul 10 08:48:43 EDT 2012 x86_64
x86_64 x86_64 GNU/Linux
- downloaded and untarred Ivy-2.3.0-rc2 with deps from site.
[mheyse@xxx /repo/mheyse/ivy/apache-ivy-2.3.0-rc2]$ ls ..
apache-ivy-2.3.0-rc1 apache-ivy-2.3.0-rc2
apache-ivy-2.3.0-rc2-bin.tar.gz
apache-ivy-2.3.0-rc2-bin-with-deps.tar.gz Ivy-test Ivy-test.tar.gz
[mheyse@xxx /repo/mheyse/ivy/apache-ivy-2.3.0-rc2]$ ls
CHANGES.txt doc ivy-2.3.0-rc2.jar ivy.xml ivy.xsd lib LICENSE
NOTICE README RELEASE_NOTES src
[mheyse@xxx /repo/mheyse/ivy/apache-ivy-2.3.0-rc2]$ ls lib
commons-codec-1.2.jar commons-httpclient-3.0.jar
commons-logging-1.0.4.jar commons-vfs-1.0.jar jsch-0.1.31.jar
oro-2.0.8.jar
- ivy settings files:
[mheyse@xxx /repo/mheyse/ivy/apache-ivy-2.3.0-rc2]$ cat
/repo/mheyse/ivy/Ivy-test/ivysettings.xml
<ivysettings>
<!-- <classpath
file="/repo/mheyse/ivy/apache-ivy-2.3.0-rc2/lib/jsch-0.1.31.jar"/> -->
<property name="ivy.common.ivy.user.dir"
value="${ivy.settings.dir}/ivy-repository" override="false"/>
<property name="ivy.default.ivy.pattern"
value="[module]/[revision]/[artifact].[ext]" override="false"/>
<property name="ivy.default.artifact.pattern"
value="[module]/[revision]/[artifact].[ext]" override="false"/>
<settings defaultResolver="default"/>
<caches defaultCacheDir="${ivy.settings.dir}/ivy-cache"/>
<!-- <include
url="${ivy.default.settings.dir}/ivysettings-public.xml"/> -->
<include url="ivysettings-public.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/>
<!-- <include url="${ivy.default.settings.dir}/ivysettings-local.xml"/> -->
<include url="ivysettings-local.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/>
<include
url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"/>
</ivysettings>
[mheyse@xxx /repo/mheyse/ivy/apache-ivy-2.3.0-rc2]$ cat
/repo/mheyse/ivy/Ivy-test/ivysettings-public.xml
<ivysettings>
<property name="ivy.public.default.root"
value="${ivy.common.ivy.user.dir}/public" override="false"/>
<property name="ivy.public.default.ivy.pattern"
value="${ivy.default.ivy.pattern}" override="false"/>
<property name="ivy.public.default.artifact.pattern"
value="${ivy.default.artifact.pattern}" override="false"/>
<resolvers>
<ssh name="public" user="mheyse" host="xxx">
<ivy
pattern="${ivy.public.default.root}/${ivy.public.default.ivy.pattern}" />
<artifact
pattern="${ivy.public.default.root}/${ivy.public.default.artifact.pattern}"
/>
</ssh>
<!-- <filesystem name="public">
<ivy
pattern="${ivy.public.default.root}/${ivy.public.default.ivy.pattern}" />
<artifact
pattern="${ivy.public.default.root}/${ivy.public.default.artifact.pattern}"
/>
</filesystem> -->
</resolvers>
</ivysettings>
- output:
[mheyse@xxx /repo/mheyse/ivy/apache-ivy-2.3.0-rc2]$ java -jar
ivy-2.3.0-rc2.jar -settings /repo/mheyse/ivy/Ivy-test/ivysettings.xml
-ivy ivy.xml -debug
:: loading settings :: file = /repo/mheyse/ivy/Ivy-test/ivysettings.xml
setting 'ivy.settings.dir' to '/repo/mheyse/ivy/Ivy-test'
setting 'ivy.conf.dir' to '/repo/mheyse/ivy/Ivy-test'
setting 'ivy.settings.file' to '/repo/mheyse/ivy/Ivy-test/ivysettings.xml'
setting 'ivy.conf.file' to '/repo/mheyse/ivy/Ivy-test/ivysettings.xml'
setting 'ivy.settings.url' to
'file:/repo/mheyse/ivy/Ivy-test/ivysettings.xml'
setting 'ivy.conf.url' to 'file:/repo/mheyse/ivy/Ivy-test/ivysettings.xml'
setting 'ivy.default.ivy.user.dir' to '/home/mheyse/.ivy2'
setting 'ivy.home' to '/home/mheyse/.ivy2'
no default ivy user dir defined: set to /home/mheyse/.ivy2
setting 'ivy.log.modules.in.use' to 'false'
setting 'ivy.resolver.default.check.modified' to 'false'
setting 'ivy.default.always.check.exact.revision' to 'false'
setting 'ivy.retrieve.pattern' to
'${ivy.lib.dir}/[artifact]-[revision](-[classifier]).[ext]'
setting 'ivy.configurations' to '*'
setting 'ivy.buildlist.ivyfilepath' to 'ivy.xml'
setting 'ivy.status' to 'integration'
setting 'ivy.resolve.default.type.filter' to '*'
setting 'ivy.project.dir' to '${basedir}'
setting 'ivy.dep.file' to 'ivy.xml'
'ivy.settings.file' already set: discarding 'ivysettings.xml'
setting 'ivy.report.output.pattern' to
'[organisation]-[module]-[conf].[ext]'
setting 'ivy.cache.ttl.default' to '10s'
setting 'ivy.publish.src.artifacts.pattern' to
'${ivy.distrib.dir}/[type]s/[artifact]-[revision](-[classifier]).[ext]'
setting 'ivy.deliver.ivy.pattern' to
'${ivy.distrib.dir}/[type]s/[artifact]-[revision](-[classifier]).[ext]'
setting 'ivy.build.artifacts.dir' to '${ivy.project.dir}/build/artifacts'
setting 'ivy.checksums' to 'sha1,md5'
setting 'ivy.distrib.dir' to '${ivy.project.dir}/distrib'
setting 'ivy.lib.dir' to '${ivy.project.dir}/lib'
setting 'ivy.common.ivy.user.dir' to
'/repo/mheyse/ivy/Ivy-test/ivy-repository'
setting 'ivy.default.ivy.pattern' to '[module]/[revision]/[artifact].[ext]'
setting 'ivy.default.artifact.pattern' to
'[module]/[revision]/[artifact].[ext]'
setting 'ivy.cache.dir' to '/repo/mheyse/ivy/Ivy-test/ivy-cache'
including url: file:/repo/mheyse/ivy/Ivy-test/ivysettings-public.xml
setting 'ivy.public.default.root' to
'/repo/mheyse/ivy/Ivy-test/ivy-repository/public'
setting 'ivy.public.default.ivy.pattern' to
'[module]/[revision]/[artifact].[ext]'
setting 'ivy.public.default.artifact.pattern' to
'[module]/[revision]/[artifact].[ext]'
Exception in thread "main" java.lang.NoClassDefFoundError:
com/jcraft/jsch/JSchException
at
org.apache.ivy.plugins.resolver.SshResolver.<init>(SshResolver.java:28)
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:532)
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:586)
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:504)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1340)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2732)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
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:819)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748)
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:1208)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:392)
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:183)
at
org.apache.ivy.core.settings.XmlSettingsParser.includeStarted(XmlSettingsParser.java:435)
at
org.apache.ivy.core.settings.XmlSettingsParser.startElement(XmlSettingsParser.java:211)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:504)
at
com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1320)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2732)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
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:819)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748)
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:1208)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:392)
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:416)
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: com.jcraft.jsch.JSchException
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 47 more
- Things already tried:
* set classpath option in java (so using following command):
java -cp /repo/mheyse/ivy/apache-ivy-2.3.0-rc2/lib/jsch-0.1.31.jar -jar
ivy-2.3.0-rc2.jar -settings /repo/mheyse/ivy/Ivy-test/ivysettings.xml
-ivy ivy.xml -debug
* set classpath in ivysettings file (uncomment the classpath line in
ivysettings.xml)
But always same error.
It works with the filesystem resolver (commented in
ivysettings-public.xml). But I need the ssh resolver.
Can someone help?
Regards,
Maarten