On Thu, 24 Jan 2013, chrisichris wrote:
> I somehow do not manage to add a jar to the classpath for the repl.
> Neither via the java -cp property nor the yeti one
>
> >java -cp "lib\unmanaged\ant-1.8.2.jar" -jar lib/unmanaged/yeti.jar
The java tool ignores -cp when -jar is given.
> Yeti 0.9.7+ REPL.
>
> > import org.apache.tools.ant.Project
> > new Project()
> 1:1: Unknown class: org.apache.tools.ant.Project
>
> Yeit -cp:
>
> C:\programmierung\myprojects\yeti\ybuilder>java -jar lib/unmanaged/yeti.jar -cp
> "lib\unmanaged\ant-1.8.2.jar"
That's weird.
$ java -jar yeti.jar -cp /usr/share/ant/lib/ant.jar
Yeti 0.9.7+ REPL.
> import org.apache.tools.ant.Project
> new Project()
org.apache.tools.ant.Project@5f787338 is ~org.apache.tools.ant.Project
$ cp /usr/share/ant/lib/ant.jar test
$ java -jar yeti.jar -cp test/ant.jar
Still works.
I would suspect that url forming for URLClassLoader is somehow broken with
windows paths? The code is in c/eval.yeti around line 176.
urls = array [];
for classPath do p:
s = strReplace '\' '/' new File(p)#getAbsolutePath();
push urls new java.net.URL("file://\(
if s `strEnds?` '/' or s `strEnds?` '.jar' then s
else "\(s)/" fi)")
done;
cl := new java.net.URLClassLoader(urls, cl) as ~ClassLoader
Maybe you can debug this, I don't have windows at hand at the moment.
> Yeti 0.9.7+ REPL.
>
> > import org.apache.tools.ant.Project
> > new Project()
> java.lang.NoClassDefFoundError: org/apache/tools/ant/Project
> Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.Project