Hello Nicolas,
I have tried your test case and it is failing as you except :
BUILD FAILED
/Users/antoine/dev/asf/ivyde-trunk/test/ssh-resolver/build.xml:27:
java.lang.NoClassDefFoundError: com/jcraft/jsch/agentproxy/AgentProxyException
at
org.apache.ivy.plugins.repository.ssh.AbstractSshBasedRepository.getSession(AbstractSshBasedRepository.java:108)
at
org.apache.ivy.plugins.repository.ssh.SshRepository.resolveResource(SshRepository.java:82)
at
org.apache.ivy.plugins.repository.ssh.SshResource.resolve(SshResource.java:101)
The line 108 in AbstractSsshBasedRepository contains this :
return SshCache.getInstance().getSession(host, port, user, userPassword,
getKeyFile(),
getKeyFilePassword(), getPassFile(), isAllowedAgentUse());
getSession is a method which calls attemptAgentUse.
Does this explain why an attempt to load AgentProxyException happens at that
time ?
Regards,
Antoine
On May 11, 2014, at 5:41 PM, Nicolas Lalevée <[email protected]> wrote:
> Hi,
>
> I need some help to understand a bug around classloading (nothing that
> particular to Ivy).
>
> I was looking into IVY-1471 [1] and I don't understand why it is failing that
> way. In the classpath there are both Ivy and Jsch, but not the optional jar
> related to managing the ssh agent via jsch. And it is failing because a class
> in that optional jar is not found. But I don't understand why the classloader
> is looking for it in the first place.
>
> The error is raised is AbstractSshBasedRepository, on the call of
> SshCache.getInstance() [2]. But as far as I can tell, nothing in the loading
> of the SshCache [3] class requires AgentProxyException. The class is only
> needed by the function SshCache#attemptAgentUse() [4], which will be called
> at runtime, if the end user actually want ssh agent support, in which case it
> would naturally fail. But here it fails very earlier.
>
> I have made a test case you can test with its build.xml, no IvyDE required
> there [5].
>
> Am I missing something ? Is there a special treatment for the loading of
> Exception classes ?
>
> Nicolas
>
> [1] https://issues.apache.org/jira/browse/IVY-1471
> [2]
> https://fisheye6.atlassian.com/browse/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/ssh/AbstractSshBasedRepository.java?hb=true#to108
> [3]
> https://fisheye6.atlassian.com/browse/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/ssh/SshCache.java?hb=true
> [4]
> https://fisheye6.atlassian.com/browse/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/ssh/SshCache.java?hb=true#to300
> [5] http://svn.apache.org/repos/asf/ant/ivy/ivyde/trunk/test/ssh-resolver/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]