【问题标题】:"java.lang.NoClassDefFoundError" Running java using cmd but getting error“java.lang.NoClassDefFoundError” 使用 cmd 运行 java 但出现错误
【发布时间】:2015-06-23 11:41:09
【问题描述】:

使用cmd按照命令运行java但出现错误

java -cp %etc_folder%%service%%library%

我确实为 etc_folder、服务、库设置了环境变量

library envi: target\service_service-05.2015.jar

我检查文件夹 jar 文件是否在文件夹中。

出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: target\service_service-05/2015/jar;
caused by: java.lang.ClassNotFoundException: target\service_service-05.2015.jar;
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

我认为它正在取代“。”到“/”

不知道为什么,有人可以帮忙吗? 提前致谢!!

【问题讨论】:

  • 如果我没看错,您正在执行 java -cp target\service_service-05.2015.jar?如果是这样,它将不起作用。 (1) jar 使用 'java -jar' (2) 'java -jar' 与 'java -cp' 互斥,即没有 -cp 与 jars (3) jars 内部清单应该说明主入口点,它将使用 -jar 开关时执行
  • 你能“echo %etc_folder%%service%%library%”来验证这个值吗?我认为有一个空间,所以 java 认为“target\service_service-05/2015/jar”是一个主类。
  • 哦,我明白了,你认为这不是他的全部执行命令。如果他用扩展的 vars 显示整个执行命令会很好
  • 抱歉,这超出了“echo %etc_folder%%service%%library%”-->“etc”;“target/service_service-05.2015.jar;”“com.xml。 XML etc/xml_file.xml"
  • 我也得到了同样的东西与'库:etc/xml_file/xml'

标签: java cmd


【解决方案1】:

您应该按照以下模式执行 Java:

java -cp $(echo /opt/path/lib/*.jar| tr ' ' ':') com.xxx.xxx.MainClass

你所有的罐子都放入/opt/path/lib/com.xxx.xxx.MainClass 是你拥有main() 函数的哪个类。

【讨论】:

  • 你能复制你执行的命令,然后解压jar来检查类是否存在吗?包名是否正确?
  • 而你尝试的时候,请不要使用env,直接使用路径。
  • 我收到错误消息,无法从 .jar 文件加载主类清单属性
  • java -jar "some .jar" 要求 jar 是可执行的 jar。但是我给你的命令,罐子可能是一个普通的罐子。
  • 我不太确定如何使用您的命令.. 你能给我举个例子吗? java -cp $(echo /target/service_service-05.2015.jar | tr ' ' ':').. 像这样?
猜你喜欢
  • 2011-10-23
  • 2021-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多