Java 命令行运行java程序,出现“找不到或无法加载主类 ”的注意事项

引用:http://blog.chinaunix.net/uid-27106528-id-5209914.html

要在CMD命令行中使用java 运行java程序,关于出现 “找不到或无法加载主类 ”错误的解决办法,
   网络上基本都是在说关于"classpath"路径的配置问题,要加入 ” .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;“   
 前面加入”.;",表面要在当前目录下面寻找类。
       如果你试过了很多次,classpath也配置对了,依旧出现这个错误,注意你使用的测试代码,是否在某一个包名的下面;
举例:代码如下:

点击(此处)折叠或打开

  1. package helloworld;
  2. public class helloworld {
  3. public static void main(String args[])
  4. {
  5. int num=10;
  6. int max=Integer.MAX_VALUE;
  7. System.out.println("hello world!");
  8. System.out.println("num++*num++="+ num++*num++ );
  9. System.out.println("max integer="+ max);
  10. }
  11. }

在文件所在的当前目录下,运行javac helloworld.java编译成功,生成helloworld.class文件,这个时候,你用java helloworld 想运行程序,总会出现”找不到或无法加载主类“的错误。
     这个时候要注意,之所以找不到,是因为helloworld在helloworld包名的下面。
     去掉 ”package helloworld;“ 重新用javac 编译helloworld.java,再运行java helloworld 就可以了。
     或者新建一个包名一样的文件夹,在本例中,为建立一个helloworld的文件夹,把java文件移到该目录下。
    然后在helloworld文件夹的平级下,运行javac   helloworld/helloworld.java编译程序,运行java helloworld.helloworld  则可以运行含有包名的java程序。

原理说明:
  java 程序运行class文件,对于有包名的类,java把包名当成文件夹处理,”包名+类名“ 相当于 ”文件夹目录+类名“来寻找类。

时间: 2024-10-20 18:50:52

Java 命令行运行java程序,出现“找不到或无法加载主类 ”的注意事项的相关文章

javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题

javac编译成功,用java运行class文件出现"找不到或无法加载主类" 的问题所在很简单 入门就遇到这样的问题,环境变量按网上说的配好了,直接java 和 javac都有提示出来,说明没问题了, 做了一个简单java,放在e盘根目录下,在c:下操作javac该java文件成功了,但用java 该class时却提示"找不到或无法加载主类" ,忙活了半天,找了些资料,发现其实很简单,不是语句错误,是路径问题classpath的问题. 主要是以下两点要注意: 1.在

javac编译出来的程序运行报错“错误: 找不到或无法加载主类”

使用javac编译java文件生成class文件 >javac HelloWorld.java执行class文件>java HelloWorld 原因: 含有包名 解决办法: 按照包的结构新建目录,在最外层目录编译javac net/newcapec/HelloWorld.java,然后执行java net.newcapec.HelloWorld 源码```package net.newcapec; /** * @author admin * */public class HelloWorld

Mac 添加java 环境变量成功后,依然会报错 错误: 找不到或无法加载主类

Windows 批处理(bat)文件转换成 Mac 的批处理(sh)文件 1. bat转换成sh文件,注销掉echo ,title字段: 2.将bat文件中的';'分隔符替换成':' ; Mac 添加Java 环境变量 1.打开终端 输入 cd ~ niko:~ mmk$ open -e .bash_profile 打开.bash_profile文件进行编辑: 2.在.bash_profile中添加 JAVA_HOME=`/usr/libexec/java_home` export JAVA_H

springboot项目上有个红叉,且ecplise没有自动编译项目,运行提示“错误: 找不到或无法加载主类”

近期在做springboot项目,发现springboot项目上有个红叉但找不到哪个类报错,ecplise没有把项目自动编译,运行还提示"错误: 找不到或无法加载主类",进入工作空间"项目\target\classes",发现项目java类根本没有编译,尝试各种方式发现均不可以,后来在网上发下这篇文章试了确实可以http://blog.csdn.net/u011526234/article/details/50394951,现在remark以下,希望也可以帮到其他遇

IDEA Maven项目找不到或无法加载主类

IDEA导入项目运行时出现 错误: 找不到或无法加载主类 的问题 清除缓存并重启 重启完成后执行Maven clean 最后执行Maven compile 重新编译项目,问题解决 原文地址:https://blog.51cto.com/acevi/2470511

命令行中编译和运行JAVA程序出现“错误: 找不到或无法加载主类”

初学JAVA,今天在命令行界面中尝试编译和运行Hello.java (文件当前目录.....\src\chapter1) 1 package chapter1; 2 3 public class Hello { 4 public static void main(String[] args){ 5 if(args.length==0) 6 System.out.println("hello!"); 7 else{ 8 for(int i=0;i<args.length;i++)

mac 下 使用 java运行 class 文件 总是提示 “错误: 找不到或无法加载主类”的解决方法

发现问题 切换到mac平台后,突然想写点程序运行在mac下,想到mac自带java,会方便好多.不过在这过程中遇到了麻烦: 总是提示 “错误: 找不到或无法加载主类” 工程结构 查了好久,终于找到原型所在,发现网上很多资料都写的都不太多,自己记录一下.先看看工程的位置和目录. 我的eclipse 工作空间位置是: /Users/zhangyunfei/workspace_java 我的工程名字叫:hellodemo 我的main class 的package name (包名)为: hellod

编译和运行java文件 找不到或无法加载主类

这边提供一个关于程序中含有package关键字,使用"终端"运行程序时出现"找不到或无法加载主类",而使用Eclipse软件可以正常运行程序的可能解决办法. 例如程序名为HelloWorldTest.java,程序中含有package helloWorld语句,而该包位于javatest目录下,即javatest/helloWorld/HelloWorldTest.java. 应该在java文件所在的目录运行javac指令,即在helloWorld目录中运行java

Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法

Java的cmd配置(也即Java的JDK配置及相关常用命令) ——找不到或无法加载主类  的解决方法 这段时间一直纠结于cmd下Java无法编译运行的问题.主要问题描述如下: javac 命令可以正常运行,而java命令有时可以正常运行,有时却不可以,不可以的症状就是显示“找不到或无法加载主类”. 在网上找了各种资料,最终发现是因为代码里含有package语句,所以无法在cmd下运行java命令解释.class文件.而那些可以运行的文件就是因为没有使用package语句. 我这种问题的解决方法