今天碰到了一个很变态的问题,写了一个很简单的HelloWord.java,内容如下:

package com.yanjiuyanjiu;

public class HelloWorld {

public static void main(String args[]) {

System.out.println("Hello World!");

}

}

在eclipse中运行是可以的,但是在命令行下运行总是失败。我的工程位置为 d:/workspace/HelloWorld/。

尝试了很多次,如下

d:/workspace/HelloWorld/bin/com/yanjiuyanjiu/>java HelloWorld

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld (wrong name: com/yanjiuyanjiu/HelloWorld)

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClassCond(Unknown Source)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.security.SecureClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.access$000(Unknown Source)

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

Could not find the main class: HelloWorld.  Program will exit.

Exception in thread "main"

d:/workspace/HelloWorld/bin/com/yanjiuyanjiu/>java -classpath .; HelloWorld

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld (wrong name: com/yanjiuyanjiu/HelloWorld)

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClassCond(Unknown Source)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.security.SecureClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.access$000(Unknown Source)

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

Could not find the main class: HelloWorld.  Program will exit.

Exception in thread "main"

d:/workspace/HelloWorld/bin/com/yanjiuyanjiu/>cd..

d:/workspace/HelloWorld/bin/com/>cd..

d:/workspace/HelloWorld/bin/>java -classpath .; com/yanjiuyanjiu/HelloWorld只有这个成功

Hello World!

d:/workspace/HelloWorld/bin/>java -classpath .; com/yanjiuyanjiu/HelloWorld换了个斜杠就不行了

Exception in thread "main" java.lang.NoClassDefFoundError: com/yanjiuyanjiu/HelloWorld (wrong name: com/yanjiuyanjiu/HelloWorld)

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClassCond(Unknown Source)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.security.SecureClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.access$000(Unknown Source)

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

Could not find the main class: com/yanjiuyanjiu/HelloWorld.  Program will exit.

Exception in thread "main"

d:/workspace/HelloWorld/bin/>java -classpath ./com/yanjiuyanjiu/; HelloWorld

Exception in thread "main"java.lang.NoClassDefFoundError: HelloWorld (wrong name: com/yanjiuyanjiu/HelloWorld)

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClassCond(Unknown Source)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.security.SecureClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.access$000(Unknown Source)

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

Could not find the main class: HelloWorld.  Program will exit.

Exception in thread "main"

在网上搜索了大半天,大部分说是环境变量,classpath或JDK版本的问题,还有执行时文件名class后缀不要。我一一试过,都没有解决。最后无意中换了一下命令符的位置,成功了。总结如下:

1. 环境变量,CLASSPATH当然要设置好,执行时不要带class后缀;

2. 路径中的斜杠用“/”而不是“/”;

3. 命令符的当前目录要在包的起点。比如这里应该在 d:/workspace/HelloWorld/bin/>,如果在 d:/workspace/HelloWorld/bin/com/yanjiuyanjiu/>,反而不行,有点“近水楼台不得月”的意思,不知道为什么,还请高手解释一下。

java运行class文件_java命令行下运行class文件相关推荐

  1. 命令行下运行 java someClass.class出现 “错误:找不到或无法加载主类someClass ” 的解决方案

    命令行下运行 java someClass.class出现 "错误:找不到或无法加载主类someClass " 的解决方案 参考文章: (1)命令行下运行 java someCla ...

  2. 在Linux命令行下运行Matlab

    在Linux下安装完matlab后,会在/usr/local/bin/下生成matlab文件,可以使用matlab命令. Usage:  matlab [-h|-help] | [-n | -e]   ...

  3. 命令行下从bak文件恢复sqlserver数据库方法

    命令行下从bak文件恢复sqlserver数据库方法 注:本文所示访问从SqlServer 2000 - 2014版都是通用的 参考:http://blog.sina.com.cn/s/blog_5c ...

  4. 如何在CLI命令行下运行PHP脚本,同时向PHP脚本传递参数?

    如何在命令行下运行PHP脚本[带参数] 创建一个简单的文本文件,其中包含有以下PHP代码,并把它保存为hello.php: <?php echo "Hello from the CLI ...

  5. 命令行给php脚本传参,如何在CLI命令行下运行PHP脚本,同时向PHP脚本传递参数?...

    标签:c   t   sp   get   int   name   php   test   print   root   enter //命令行输入输出流 fwrite(STDOUT," ...

  6. 在mysql命令行下执行sql文件

    ***********在mysql命令行下执行sql文件*********** C:\Windows\system32>cd E:\MySQL\mysql-5.7.16-winx64\bin / ...

  7. Linux命令行下复制粘贴文件

    Linux命令行下复制粘贴文件 一.复制单个文件 1.ls命令演示 2.cp命令 二.复制文件夹 1.cp -r 命令 三.复制多个文件 一.复制单个文件 1.ls命令演示 2.cp命令 我们下面将1 ...

  8. Linux bash 命令行下实现可视化文件或文件夹浏览

    Linux bash 命令行下实现可视化文件或文件夹浏览 文章目录 前言 最终解决方案 代码 看起来像这样 使用方式 获取用户选择的文件/文件夹 我怎么知道用户选择的是文件还是文件夹 我可不可以在C等 ...

  9. java dos平台压缩_DOS命令行下使用HaoZip进行文件压缩的方法

    DOS命令,计算机术语,是指DOS操作系统的命令,是一种面向磁盘的操作命令,主要包括目录操作类命令.磁盘操作类命令.文件操作类命令和其它命令. 大家常用的操作系统有windows10,windows ...

最新文章

  1. PHP--认识Smarty模板引擎
  2. 为什么二进制保存的文件,打开仍然可以正常显示
  3. [转]脏读,不可重复读,幻读的理解
  4. python中意外缩进是什么意思_如何处理python中的“意外缩进”?
  5. Linux下查看文件内容的ASCII码以检查内容的编码一致
  6. VFP开发Dcom程序的注意事项
  7. matlab memorySian,matlab内存溢出的解决方案
  8. Vue 学习随笔四 - 路由介绍
  9. 【机器学习基石】感知机模型+PLA(二)
  10. java大数据在线考试系统在线阅卷系统及大数据统计分析计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  11. java语言有什么特点?
  12. 怎么制作自己的压缩软件
  13. 深入mysql语言_深入简出mysql--第一部分
  14. 应用计算机测定线性电阻伏安特性实验结论,电路分析实验报告(电阻元件伏安特性的测量)...
  15. Visual Studio 2019编译问题解决方法
  16. 直播电商,小红书的商业化“解药”?
  17. python查找公共前缀_Python练习【3】【罗马数字转换/查找公共前缀】
  18. 干货·Doherty功放设计
  19. 苹果手机怎样添加无线网服务器,如何让苹果手机网速提升三倍?
  20. 物理层一致性(Compliance)测试

热门文章

  1. javaweb----三层架构+
  2. leetcode 482. 密钥格式化(Java版)
  3. 【JSP/Servlet】getParameter和getAttribute的使用、区别
  4. ERC20 Short Address Attack
  5. Java实现Google第三方登录
  6. Leet Code OJ 169. Majority Element [Difficulty: Easy]
  7. read-only file system怎么改权限_“我就退出家长群!怎么了?”压垮成年人仅需一个“家长群”上热搜?...
  8. 12.term_vectors查看
  9. 【详解】某企业的培训关系模式 R(培训科目,培训师,学生,成绩,时间,教室), R的函数依赖集 F={培训科目→→培训师,(学生,培训科目)→成绩,(时间,教室)→培训科目,(时间,培训师)→
  10. 【图示】小程序云开发和不使用云开发的区别