java-jar的类路径问题

java-jar的类路径问题,java,jar,executable-jar,Java,Jar,Executable Jar,我有一个可执行的jar Client.jar,它需要jndi.properties文件。 由于jndi属性不是Client.jar的一部分,并且java-jar忽略了-classpath参数 如何执行jar并让它知道jndi.properties在哪里 谢谢 //编辑,错误消息 java -jar Client2.jar Exception in thread "main" javax.naming.NoInitialContextException: Need to specify clas

我有一个可执行的jar Client.jar,它需要jndi.properties文件。 由于jndi属性不是Client.jar的一部分,并且java-jar忽略了-classpath参数

如何执行jar并让它知道jndi.properties在哪里

谢谢

//编辑,错误消息

java -jar Client2.jar 
Exception in thread "main" javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.don.Client.main(Client.java:10)

您应该能够手动引用主类并在类路径上包含所有jar,而不是使用-jar标志。

我们需要更多关于如何告知应用程序JNDI属性文件位置的信息

它是否希望属性文件位置作为命令行参数?如果是,则应按如下方式调用该命令:

java -jar <jarfile> <arguments>
java -jar <jarfile> -D<someproperty>=<location>
java-jar
其中,
包含提供JNDI属性文件的相关选项

它是否希望JNDI属性文件作为系统属性?如果是,则应按如下方式调用该命令:

java -jar <jarfile> <arguments>
java -jar <jarfile> -D<someproperty>=<location>
java-jar-D=
其中,
是相关属性的名称

它是否希望在类路径上找到属性文件?如果是这样,您应该按照以下几行调用命令:

java -cp <jarfile>:<directory> <main-class>
java-cp:
其中,
是JAR文件清单中的主类名,
包含具有应用程序所需名称的JNDI属性文件


如果应用程序有正确的文档记录,设置JNDI属性文件的首选方法将在安装和/或使用文档中。

它希望类路径上有JNDI.properties文件。我在上面的描述中添加了错误。@portoalet-您包含的错误没有说明jndi.properties必须在类路径上!最后我做了:java-Djava.naming.provider.url=jnp://localhost:1099 -Djava.naming.factory.initial=org.jnp.interfaces.NamingContextFactory com.don.Client由于某些原因无法加载jndi.properties。