I’m getting this error when I try to add jruby as a dependency using the ivy Eclipse plugin:
Impossible to resolve dependencies of com.restphone#;working@James-Moores-iMac.local
unresolved dependency: org.jruby.extras#bytelist;1.0.8: not found
This is in my ivy.xml:
<dependency org="org.jruby"
name="jruby-complete"
rev="1.6.6" />
And this is in ivysettings.xml:
<ivysettings>
<settings defaultResolver="chain"/>
<resolvers>
<chain name="chain">
<ibiblio name="codehaus" m2compatible="true" root="http://repository.codehaus.org/"/>
</chain>
</resolvers>
</ivysettings>
But according to the jruby mailing list, jruby has NO dependencies for runtime, compile or
test scope.
Do I need to give the ivy plugin more information somewhere?
In my opinion it’s always a good idea to specify a configuration mapping for your dependencies.
The following ivy file worked fine for me. As described, only the ruby jar was downloaded.
Here I have mapped my local “compile” configuration to the default remote configuration. (In a Maven module, the default ivy configuration translates to the “compile” scope).
I dug into the remote POM file:
All the extra depedencies have been declared in the “provided” Maven scope.
Couple of issues:
1)
In Maven the provided scope is used for jars which are required for compiling that module. They do not need to be packaged because they are part of the target runtime environment. Similarily such dependencies are not needed as transitive dependencies for your module and hence don’t need to downloaded.
2)
All the jars are all located in the Maven Central repository. The following settings file would retrieve everything, if you chose to omit the ivy configuration mapping
3)
The following error is caused by a junk checksum. My provided settings file disables this check… something you are advised not to do on a remote repository