[jsword-devel] Books.installed() throws java.lang.ExceptionInInitializerError

DM Smith jsword-devel@crosswire.org
Thu, 01 Apr 2004 13:44:46 -0500


What is your classpath? I want to see what jars you are using.
The log4j message indicates that resource.jar is not on your path.
There may be other problems.


>From: Norbert Plött <norbert.ploett@fen-net.de>
>Reply-To: jsword-devel@crosswire.org
>To: jsword-devel@crosswire.org
>Subject: [jsword-devel] Books.installed() throws 
>java.lang.ExceptionInInitializerError
>Date: Thu, 1 Apr 2004 19:49:27 +0200
>
>DM,
>
> > Books does have a static method called installed().
>
>that's right. I mixed up older and newer versions of jsword.jar. Now I 
>found
>it.
>
> > There is a race condition in the code and I am not sure how to fix it
>
>I got the latest jsword.jar just now (April 1) and according to what Joe
>walker wrote
>
> > Sorry to to reply earlier. I've changed the Book register process so
> > that the threading is optional, and defaults to single-threaded.
> > I've also made it a 'Job' so you see progress in the GUI.
> > This should stop the race conditions, I'll make sure it gets build to
> > the jnlp dir tonight.
>
>this should include the patch he made.
>
>I changed my demo code a little:
>
>     public void readPlainText() throws BookException, NoSuchVerseException 
>{
>         System.out.println("readPlainText() started");
>         try {
>             System.out.println("Start readPlainText()");
>             //        Defaults.setBibleByName("GerSch");
>             Passage ref = PassageFactory.createPassage("Mat 1 1");
>             Books books = Books.installed() ;
>             BookMetaData meta = books.getBookMetaData("German Schlachter 
>Bibel
>(1951)");
>             Book bible = meta.getBook();
>             BookData data = bible.getData(ref);
>             String text = data.getPlainText();
>
>             System.out.println("The plain text of Mat 1:1 is "+text);
>         }
>         catch (Exception ex) {
>             System.out.println("Exception:" + ex.getMessage());
>             StackTraceElement[] stel = ex.getStackTrace();
>             for (int i=0; i<stel.length; i++) {
>                 System.out.println(stel[i].getClassName() + "." +
>stel[i].getMethodName() + " at "+ stel[i].getFileName() + " : " +
>stel[i].getLineNumber());
>             }
>         }
>         System.out.println("readPlainText() ended");
>     }
>
>Below is the console output. The call to Books.installed() throws the
>exception:
>
>readPlainText() started
>Start readPlainText()
>log4j:WARN No appenders could be found for logger
>(org.crosswire.jsword.passage.PassageUtil).
>log4j:WARN Please initialize the log4j system properly.
>java.lang.ExceptionInInitializerError
>         at org.crosswire.jsword.book.Books
>$RegisterRunnable.run(Books.java:359)
>         at org.crosswire.jsword.book.Books.<clinit>(Books.java:345)
>         at
>de.nops.BibleStat.Gui.BibleStatGui.readPlainText(BibleStatGui.java:141)
>         at
>de.nops.BibleStat.Gui.BibleStatGui.jMenuItemTestActionPerformed(BibleStatGui.java:94)
>         at 
>de.nops.BibleStat.Gui.BibleStatGui.access$200(BibleStatGui.java:35)
>         at de.nops.BibleStat.Gui.BibleStatGui
>$3.actionPerformed(BibleStatGui.java:77)
>         at
>javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
>         at javax.swing.AbstractButton
>(... more swing and awt stuff ...)
>Caused by: java.lang.NullPointerException
>         at org.crosswire.jsword.util.Project.<init>(Project.java:97)
>         at org.crosswire.jsword.util.Project.<clinit>(Project.java:66)
>         ... 37 more
>
>What do I do next?
>
>Bye
>
>Norbert
>
>_______________________________________________
>jsword-devel mailing list
>jsword-devel@crosswire.org
>http://www.crosswire.org/mailman/listinfo/jsword-devel

_________________________________________________________________
Free up your inbox with MSN Hotmail Extra Storage. Multiple plans available. 
http://join.msn.com/?pgmarket=en-us&page=hotmail/es2&ST=1/go/onm00200362ave/direct/01/