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

https://www.zhihu.com/question/36537093

这边提供一个关于程序中含有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/landv/p/8550607.html

时间: 2024-11-10 10:19:01

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

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

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

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

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

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

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%" == "

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

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

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

eclipse错误: 找不到或无法加载主类解决过程

昨天在MyEclipse中,想用一个包替换掉现有的包,手贱把现有的包删了,然后把新的包拷贝进来后,整个包下面的文件的右下角就出现了深红色的叉(不是那种报错形式的红叉),然后发现运行一个简单的Java程序都报错,说找不到或无法加载主类,之后到文件目录下找,果然没有生产class文件,然后就百度上搜寻答案,在百度上找到下面几种解决方法,我先列出来: 1.环境变量没有配置好 我打开我的环境变量确认了两次,发现没有问题 2.右键,properties->Java Build Path->Librari

命令行中编译和运行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++)

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

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