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

这边提供一个关于程序中含有package关键字,使用“终端”运行程序时出现“找不到或无法加载主类”,而使用Eclipse软件可以正常运行程序的可能解决办法。

例如程序名为HelloWorldTest.java,程序中含有package helloWorld语句,而该包位于javatest目录下,即javatest/helloWorld/HelloWorldTest.java。

应该在java文件所在的目录运行javac指令,即在helloWorld目录中运行javac HelloWorldTest.java

再在包所在的上层目录中运行java指令,即在javatest目录中运行java helloWorld.HelloWorldTest

由于是在OS X环境下学习的java,对于classpath等的设置不太熟悉,可能此方法与部分答主所述为同一意思。

作者:顾志方
链接:https://www.zhihu.com/question/36537093/answer/206814470
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

https://www.cnblogs.com/Ring1981/p/6240412.html

//这个问题原因有以下几种,但是和环境变量并没有太大的关系

//能够执行java 和 javac 就证明你的环境变量已经配置好了,其实 classpath 可以不配置

//假如有如下文件:H:\code\Hello.java

public class Hello{

    public static void main(String[]args){

        System.out.println("Hello");

    }

}

//正确编译命令: javac Hello.java

//正确运行命令: java Hello

错误1:H:\code>java Hello.java

错误: 找不到或无法加载主类 Hello.java

原因:命令错误

错误2:H:\code>java Hello.class

错误: 找不到或无法加载主类 Hello.class

原因:命令错误

错误3:java 源文件带有包名,往往容易出错

如:H:\code\Hello2.java

package com.example;

public class Hello2{

    public static void main(String[]args){

        System.out.println("Hello2");

    }

}

这代码看上去没什么问题,执行:

H:\code>javac Hello2.java

H:\code>java Hello2

错误: 找不到或无法加载主类 Hello2

解决办法:

+.删除包名  或者 

+.在code 下创建一个与包名相同的文件结构(H:\code\com\example\Hello2.java)

  编译:H:\code>javac com/example/Hello2.java

  运行:H:\code>java com.example.Hello2

原文地址:https://www.cnblogs.com/hfultrastrong/p/9082249.html

时间: 2024-12-27 23:53:15

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

记一次解决cmd中执行java提示"找不到或无法加载主类"的问题

今天遇到一个问题:在cmd命令行中,用javac编译java文件可以成功,但是用java执行却提示"找不到或无法加载主类".现将该问题的原因以及解决办法记录一下. 先理解一下系统变量path和classpath的作用. path:可执行命令的搜索路径,在该路径下搜索可以运行的程序或批处理文件. 命令行中输入一个命令,则会在path配置的目录中查找该命令,如果存在则调用该程序运行,如果不存在则提示" 'XXX' 不是内部或外部命令,也不是可运行的程序或批处理文件."

java编译通过,为什么运行却提示找不到或无法加载主类?

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

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

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

命令行中编译执行报错提示“找不到或无法加载主类”

1.没有配置JAVA_HOME和CLASSPATH,只配了Path(D:\Program\Java\jdk1.8.0_161\bin),验证可以编译执行: 2.java源文件路径:F:\workspace0408\HelloWorld\src: 3.源文件如下: 1 package test; 2 3 public class HelloWorld { 4 public static void main(String[] args) { 5 System.out.println("Hello W

Activemq首次运行报错 “找不到或无法加载主类”

首次运行Program Files\apache-activemq-5.10.0\bin目录下的activemq.bat文件,报错信息如下: 找不到或无法加载主类 Files\apache-activemq-5.10.0\bin\..\conf\login.config 百度后发现是路径中含有空格(文件夹“Program Files”)的原因,空格截断了字符串参数的读取.按照该文章给出的修改方法, 解决方案: 找到第80行的 if "%ACTIVEMQ_OPTS%" == "

java 错误: 找不到或无法加载主类

这个问题应该很常见的,笔者经常手工编译一些测试代码或者小工具,经常用到 javac和java来编译并运行一些简单的小工具. 以Hello World来测试. HelloWorld.java public class HelloWorld{ public static void main(String[]args) { System.out.println("the romatic greet of programmer all over the world:Hello World!")

java 错误:找不到或无法加载主类的解决办法

此类错误的常见解决办法: 1.是因为.java文件不在项目的src路径内,也就是说源代码未被eclipse编译,字节码不存在无法运行了在项目名上右键 -> Builder Path -> Configure Build Path -> 选择Source面板 再点Add Folder, 把源代码所在的包路径的上层目录加进来,而且如果你是把两个类写在一个文件里的话,你在右键选择Run As Java Appication 的时候,要把光标至于包括main方法的类上 2.最快捷的解决办法是,打

安装java后,运行时提示找不到或无法加载主类 com.sun.tools.javac.Main

这个在我们班有不少同学遇到,想到初学者这种问题可能不在少数,我这里就对这个问题说一下原因与解决方法吧. 原因很简单: 首先,JDK是开发环境  JRE是运行环境 JDK安装包中包含JRE. 安装JDK的时候会提示两次安装目录,第一次是JDK安装目录,第二次是JRE的安装目录.遇到这种问题的朋友是把JDK与JRE安装在了同一目录下导致的. 解决办法: JKD安装时将两次目录选择放在不同的目录就可以了,比我的JDK安装目录是D:/JAVA/JDK    JRE安装目录是D:/JAVA/JRE 这样问

Myeclipse运行提示错误: 找不到或无法加载主类 test.test1 终极解决办法

前提是代码没有问题 简单粗暴的解决办法: 重启电脑 解决办法2: 1.在控制台中点开"Problems",查看里面的错误.如果是多个项目,可以将其他项目暂时关闭. 根据错误进行处理. 2.把项目clean一下 3.项目Refresh一下 在项目上右键 Refresh一下 如果还不行 4.(关键一步) 将编译后的 配置信息或者新修改的对应的.class文件 删除 重新编译运行即可.