J2SE JNDI:启动独立JNP服务器的问题

时间:2014-04-09 09:22:58

标签: java java-ee jboss jndi

我正在尝试使用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的问题是什么?或者我需要改变什么?

1 个答案:

答案 0 :(得分:0)

首先,您必须确保类路径根目录中的jndi.properties。

其次,删除" java.naming.provider.url = jnp:// localhost:1099"你的jndi.properties文件中的行。