我正在尝试使用http://www.javaworld.com/article/2074186/jndi/j2ee-or-j2se--jndi-works-with-both.html中的说明启动JNP服务器。
然后我创建了一些目录来存储我的脚本和库,以便能够拥有独立的JNP服务器。 以下是目录层次结构。
bin
-jnp-start.bat
-jnp-start.sh
CONF
-log4j.properties
-jndi.properties
LIB
-jbossall-client.jar
-jboss-common-core.jar
-jboss-logging-spi.jar
-jboss-remote-naming-1.0.1.Final.jar
-jnp-client.jar
-jnpserver.jar
-log4j.jar
日志
jndi.properties具有以下内容:
java.naming.provider.url = jnp://localhost:1099
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming
jnp-start.bat具有以下内容:
@ ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET JNDI_HOME=..
SET CLASSPATH=%JNDI_HOME%
FOR /R %JNDI_HOME%\lib %%A in (*.jar) do (
SET CLASSPATH=!CLASSPATH!;%%A
)
SET JVM_ARGS=-Djava.library.path=%JNDI_HOME%\lib
ECHO "java %JVM_ARGS% -classpath %CLASSPATH% org.jnp.server.Main"
java %JVM_ARGS% -classpath %CLASSPATH% org.jnp.server.Main
当我运行脚本时,我得到输出:
D:\mydirectory\mysubdirectory\jndi\bin>jnp-start.bat
"java -Djava.library.path=..\lib -classpath ..;D:\mydirectory\mysubdirectory\jndi\lib\jboss- common-core.jar;D:\mydirectory\mysubdirectory\jndi\lib\jboss-logging-spi.jar;D:\mydirectory\mysubdirectory\jndi\lib\jboss-remote-naming- 1.0.1.Final.jar;D:\ComzAfrica\xtracash\jndi\lib\jbossall-client.jar;D:\mydirectory\mysubdirectory\jndi\lib\jnp-client.jar;D:\mydirectory\mysubdirectory\jndi\lib\jnpserver.jar;D:\mydirectory\mysubdirectory\jndi\lib\log4j.jar org.jnp.server.Main"Exception in thread "main" java.lang.NullPointerException
at org.jnp.server.Main.getNamingInstance(Main.java:403)
at org.jnp.server.Main.initJnpInvoker(Main.java:461)
at org.jnp.server.Main.start(Main.java:422)
at org.jnp.server.Main.main(Main.java:113)
导致NullPointerException的问题是什么?或者我需要改变什么?
答案 0 :(得分:0)
首先,您必须确保类路径根目录中的jndi.properties。
其次,删除" java.naming.provider.url = jnp:// localhost:1099"你的jndi.properties文件中的行。