Perhaps you could try calling your java class directly from the repl... (TutorialConnect1.)
That might highlight the problem - your java stack strace might give some clues. It does sound like a classpath problem of some sort. Rgds, Adrian. On Tue, May 5, 2009 at 6:04 PM, Sean Devlin <francoisdev...@gmail.com> wrote: > > That's a really good point, thanks for mentioning. Unfortunately, > after looking into this, it's not the culprit. The java code's > classpath is a _subset_ of the clojure code's classpath. Also, the > DsrIPassport class doesn't exist. It was depricated years ago... > > The Clojure code appears to be initialized differently from the Java > code. > > I'll try adding a dummy class, see if that works... > > On May 5, 11:41 am, David Chamberlin <dawid...@googlemail.com> wrote: >> It sounds like you maybe haven't included all the necessary stuff in >> your classpath. >> >> If you are testing in REPL, then you need to include everything you >> need in the classpath the the invoked JVM, for example: >> >> java -classpath my-jar-file-containing-DsrlPassport.jar;clojure.jar >> clojure.main >> >> On 5 May, 15:54, Sean Devlin <francoisdev...@gmail.com> wrote: >> >> > Okay, I've got code that works in Java but I can't get working in >> > Clojure. Here's the code in Java >> >> > public class TutorialConnect1 extends Object { >> > JCO.Client mConnection; >> > public TutorialConnect1() { >> > try { >> > // Change the logon information to your own system/user >> > mConnection = JCO.createClient(...); //Connection parameters >> > mConnection.connect(); >> > System.out.println(mConnection.getAttributes()); >> > mConnection.disconnect(); >> > } >> > catch (Exception ex) { >> > ex.printStackTrace(); >> > System.exit(1); >> > } >> > } >> > public static void main (String args[]) { >> > TutorialConnect1 app = new TutorialConnect1(); >> > } >> >> > } >> >> > It simply prints some connection attributes about my system. Here's >> > the same code in Clojure >> >> > (let [sap-con (com.sap.mw.jco.JCO/createClient ... )] ;connection >> > attributes >> > (do >> > (. sap-con connect) >> > (println (. sap-con getAttributes)) >> > (. sap-con disconnect))) >> >> > I can successfully create the connection object in Clojure, but I get >> > an error in the following s-exp >> >> > (. sap-con connect) >> >> > The error I get is : >> >> > #<CompilerException java.lang.NoClassDefFoundError: com/sap/jdsr/ >> > writer/DsrIPassport (NO_SOURCE_FILE:0)> >> >> > The SAP library I'm using does rely on some native methods. The only >> > guess I have right now is that the native methods are being linked to >> > properly. >> >> > Can anyone give me a hand? >> >> > Sean > > > --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---