[jsword-devel] NullPointer in JSword, at runtime using the maven dependency

DM Smith dmsmith at crosswire.org
Sat Apr 17 17:43:04 MST 2010


I'm not to familiar with maven, but I don't think I checked in the latest poms.

I'm not clear as to why it would get a ClassDefNotFoundError. That sounds like a class path error.

-- DM

On Apr 17, 2010, at 1:50 PM, Chris Burrell wrote:

> Hi
> 
> I'm trying to get my project to compile/run against the JSword POM. I'm hitting a couple of issues (which might be related)
> 
> 1st: mvn clean install fails to retrieve a dependency, which is not very helpful. However it does seem  to build common and JSword properly. I posted a message recently on this, but there was no feedback?
> 
> 2nd, when trying to use it to install some bible versions, I get a ClassDefNotFoundError which is due to a NullPointerException in NetUtil class.
> 
> It seems that we're not forming a proper URL from:
>             URL index = ResourceUtil.getResource(ReadingsBookDriver.class, "readings.txt"); //$NON-NLS-1$
> 
> I'm not familiar with what the correct behaviour should be. I've checked that JAR that the Maven plugin builds, and readings.txt does indeed exist. Does anyone have any ideas?
> 
> This only happens through Maven when I run my packaged jar. When I run this through Eclipse it seems fine, which sounded to me like it be a dependency issue, but I can't figure our what the problem is...
> Any ideas anyone?
> Cheers,
> Chris
> 
> 
> Output from Maven:
> [DEBUG] Collected project classpath [D:\temp\release_final_test\step-dataloader\target\classes]
> [DEBUG] Adding to classpath : file:/D:/temp/release_final_test/step-dataloader/target/classes/
> [DEBUG] Adding project dependency artifact: jsword to classpath
> [DEBUG] Adding project dependency artifact: log4j to classpath
> [DEBUG] Adding project dependency artifact: jsword-common to classpath
> [DEBUG] Adding project dependency artifact: commons-codec to classpath
> [DEBUG] Adding project dependency artifact: commons-httpclient to classpath
> [DEBUG] Adding project dependency artifact: commons-logging to classpath
> [DEBUG] Adding project dependency artifact: commons-net to classpath
> [DEBUG] Adding project dependency artifact: oro to classpath
> [DEBUG] Adding project dependency artifact: javatar to classpath
> [DEBUG] Adding project dependency artifact: jdom to classpath
> [DEBUG] Adding project dependency artifact: lucene-core to classpath
> [DEBUG] Adding project dependency artifact: lucene-snowball to classpath
> [DEBUG] Adding project dependency artifact: lucene-smartcn to classpath
> [DEBUG] Adding project dependency artifact: lucene-analyzers to classpath
> [DEBUG] Adding project dependency artifact: commons-dbutils to classpath
> [DEBUG] Adding project dependency artifact: commons-io to classpath
> [DEBUG] Adding project dependency artifact: commons-lang to classpath
> [DEBUG] Adding project dependency artifact: opencsv to classpath
> [DEBUG] Adding project dependency artifact: derbyclient to classpath
> [DEBUG] Adding project dependency artifact: derby to classpath
> [DEBUG] joining on thread Thread[com.tyndalehouse.step.dataloader.Dataloader.main(),5,com.tyndalehouse.step.dataloader.Dataloader]
> [DEBUG] Setting accessibility to true in order to invoke main().
> Using connection string: jdbc:derby:C:\Documents and Settings\CJBurrell/TyndaleStep/StepDB;create=true
> 0    [com.tyndalehouse.step.dataloader.Dataloader.main()] WARN  com.tyndalehouse.step.dataloader.loaders.JSwordModuleInstaller  - Creating new installer for JSw
> ord
> Currently hardcoded installer host to:www.crosswire.org
> Currently hardcoded property names for step
> Setting to (www.crosswire.org via 10.154.1.44:8080)
> Setting package and catalog directories
> 641  [com.tyndalehouse.step.dataloader.Dataloader.main()] INFO  com.tyndalehouse.step.dataloader.loaders.JSwordModuleInstaller  - installing ESV
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] An exception occured while executing the Java class. null
> 
> [INFO] ------------------------------------------------------------------------
> [DEBUG] Trace
> org.apache.maven.lifecycle.LifecycleExecutionException: An exception occured while executing the Java class. null
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
>         at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>         at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>         at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.maven.plugin.MojoExecutionException: An exception occured while executing the Java class. null
>         at org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:338)
>         at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
>         ... 17 more
> Caused by: java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:283)
>         at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.ExceptionInInitializerError
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.crosswire.jsword.book.Books.autoRegister(Books.java:426)
>         at org.crosswire.jsword.book.Books.initialize(Books.java:407)
>         at org.crosswire.jsword.book.Books.<init>(Books.java:59)
>         at org.crosswire.jsword.book.Books.<clinit>(Books.java:473)
>         at com.tyndalehouse.step.dataloader.loaders.JSwordModuleInstaller.installBible(JSwordModuleInstaller.java:46)
>         at com.tyndalehouse.step.dataloader.loaders.JSwordModuleInstaller.installDefaultModules(JSwordModuleInstaller.java:33)
>         at com.tyndalehouse.step.dataloader.Dataloader.main(Dataloader.java:33)
>         ... 6 more
> Caused by: java.lang.NullPointerException
>         at org.crosswire.common.util.NetUtil.getInputStream(NetUtil.java:415)
>         at org.crosswire.common.util.NetUtil.listByIndexFile(NetUtil.java:544)
>         at org.crosswire.jsword.book.readings.ReadingsBookDriver.getInstalledReadingsSets(ReadingsBookDriver.java:91)
>         at org.crosswire.jsword.book.readings.ReadingsBookDriver.<init>(ReadingsBookDriver.java:50)
>         at org.crosswire.jsword.book.readings.ReadingsBookDriver.<clinit>(ReadingsBookDriver.java:119)
> 
> 
> my dependencies:
> <dependency>
> 				<groupId>org.crosswire</groupId>
> 				<artifactId>jsword</artifactId>
> 				<version>1.6.1-SNAPSHOT</version>
> </dependency>
> 
> My plugin to run the jar:
> 
> 		<plugins>
> 			<plugin>
> 				<groupId>org.codehaus.mojo</groupId>
> 				<artifactId>exec-maven-plugin</artifactId>
> 				<configuration>
> 					<mainClass>com.tyndalehouse.step.dataloader.Dataloader</mainClass>
> 					<systemProperties>
> 						<systemProperty>
> 							<key>db.location</key>
> 							<value>${db.directory}</value>
> 						</systemProperty>
> 						<systemProperty>
> 							<key>step.http.proxy</key>
> 							<value>${step.http.proxy}</value>
> 						</systemProperty>
> 						<systemProperty>
> 							<key>step.http.port</key>
> 							<value>${step.http.port}</value>
> 						</systemProperty>
> 					</systemProperties>
> 					<classpathScope>runtime</classpathScope>
> 				</configuration>
> 			</plugin>
> 
> 
> _______________________________________________
> jsword-devel mailing list
> jsword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/jsword-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/jsword-devel/attachments/20100417/ecaafbd1/attachment.html>


More information about the jsword-devel mailing list