OK, I don't know whether this is really a bug or just an obsolete message being 
printed on the console, but I've reopened the ticket and added a pointer to 
this discussion, and a link to exactly which commit it was that caused this 
change in behavior (just before Clojure 1.5.0-RC4).

Andy

On Mar 12, 2013, at 9:41 PM, Taegyoon Kim wrote:

> But then(putting RT.init()),
>  
> Compiler.load() works, but Console (stderr?) says
>  
> No need to call RT.init() anymore
>  
> So I think this problem should be fixed.
>  
> 
> 2013년 3월 13일 수요일 오전 11시 32분 5초 UTC+9, Andy Fingerhut 님의 말:
> Yegor Bugayenko posted in a comment on ticket CLJ-1172 
> (http://dev.clojure.org/jira/browse/CLJ-1172) that calling RT.init() before 
> Compiler.load() solved what looks like a similar problem for him.
> 
> Andy
> 
> On Tue, Mar 12, 2013 at 6:29 PM, Taegyoon Kim <stelo...@gmail.com> wrote:
> A new error occurred in Clojure 1.5.0.
>  
> (Java interop: Compiler.load(new StringReader(str));)
>  
> # Code #
> import java.io.IOException;
> import java.io.StringReader;
> import clojure.lang.Compiler;
> import clojure.lang.RT;
> import clojure.lang.Var;
> public class Main {
>     public static void main(String[] args) throws IOException, 
> ClassNotFoundException {        
>         //clojure.main.main(args);
>         
>         // Load the Clojure script -- as a side effect this initializes the 
> runtime.
>         String str = "(ns user) (defn foo [a b]   (str a \" \" b)) (def a 3)";
>         //RT.loadResourceScript("foo.clj");
>         Compiler.load(new StringReader(str));
>         // Get a reference to the foo function.
>         Var foo = RT.var("user", "foo");
>         Var a = RT.var("user", "a"); // reference to the variable a
>         // Call it!
>         Object result = foo.invoke("Hi", "there");
>         System.out.println(result);
>         
>         System.out.println(a);
>         System.out.println(a.get());
>     }
> }
>  
> Test code: https://bitbucket.org/ktg/clojureembedtest (Eclipse project)
> 
> Reference: 
> http://stackoverflow.com/questions/2181774/calling-clojure-from-java
>  
>  
> $ java -version
> java version "1.7.0_15"
> OpenJDK Runtime Environment (IcedTea7 2.3.7) (7u15-2.3.7-0ubuntu1~12.04.1)
> OpenJDK Client VM (build 23.7-b01, mixed mode, sharing)
> $ java -cp clojure-1.5.0.jar:. Main
> 
> Exception in thread "main" java.lang.ExceptionInInitializerError
> at clojure.lang.Compiler.<clinit>(Compiler.java:47)
> at Main.main(Main.java:16)
> Caused by: java.lang.NullPointerException
> at clojure.lang.RT.baseLoader(RT.java:2043)
> at clojure.lang.RT.load(RT.java:417)
> at clojure.lang.RT.load(RT.java:411)
> at clojure.lang.RT.doInit(RT.java:447)
> at clojure.lang.RT.<clinit>(RT.java:329)
> ... 2 more
> $ java -cp clojure-1.4.0.jar:. Main
> 
> Hi there
> #'user/a
> 3
>  

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to