导航:首页 > 源码编译 > 编译的类中找不到主方法错误提示

编译的类中找不到主方法错误提示

发布时间:2022-09-18 03:38:53

java 编译成功,运行class文件出现“找不到或无法加载主类”,什么原因

程序本身没错。原因可能有:
1、环境变量配置问题
解决办法:测试配置,在cmd下输入 java -version,如果有以下相似的输出,说明配置没问题
C:\Documents and Settings\Administrator>java -version
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) Client VM (build 17.0-b16, mixed mode, sharing)

2、编译错误。
你文件名要和类名相同。保存为Hello.java ,编译:javac Hello.java。
运行时不要加后缀 直接 java Hello

⑵ 编译java程序时老是显示找不到主类是怎么回事

你贴出的程序有些问题,
new Employee[3],后少分号。
GregortanCalendar calendar,类写错了。
hirDay=calendar.getTime();,hirDay写错了。
修改后的程序是这样。可以运行。
我很纳闷你之间的程序能编译通过?
import java.util.Date;
import java.util.GregorianCalendar;
public class EmployeeTest
{
public static void main(String[] args)
{
Employee[] staff =new Employee[3];

staff[0]=new Employee("Carl cracker ",75000,1987,12,15);
staff[1]=new Employee("Harry cracker ",50000,1989,10,1);
staff[2]=new Employee("TONY cracker ",40000,1990,3,15);
for (Employee e:staff)
e.raiseSalary(5);
for (Employee e:staff)
System.out.println("name"+e.getName()+",salary="+e.getSalary()+",hireDay="+e.getHireDay());

}
}

class Employee
{
public Employee(String n,double s,int year,int month,int day)
{
name=n;
salary=s;
GregorianCalendar calendar=new GregorianCalendar(year,month-1,day);
hireDay=calendar.getTime();
}
public String getName()
{return name;
}
public double getSalary()
{
return salary;
}
public Date getHireDay()
{
return hireDay;

}
public void raiseSalary(double byPrecent)
{

double raise=salary*byPrecent/100;
salary+=raise;
}
private String name;
private double salary;
private Date hireDay;}

⑶ 我java 编译成功, 运行程序的时候却出现 找不到或无法加载主类的错误。


classpath是网上看的配置的

⑷ 类中找不到main方法

说明当前类中没有运行入口(main方法)。
解释:java运行中规定main方法作为java项目的入口之一,也就是说如果运行的是java类,但是类中没有main方法,此时就会报此错错误。
解决办法:在类中创建main方法,或者是去有main方法的类中执行。

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

解决 :提示错误“找不到或者无法加载主类” 的一个方法

1、可能是你的项目的Java Build Path中的Libraries中有个jar包的Source attachment指为了一个不可用的jar包。
2、jdk1.8不需要配置环境变量classpath
3、以下原理理解了你就可以自行解决上述错误。
(1)cmd运行java文件,请把文件里的第一行"package A;"注释掉;
假设:Hello.java位于C:/work/ppp/A下
在工作目录"C:/work/ppp/A" 下输入:

javac Hello.java

java Hello
则 编译运行成功。
(2)若在java文件中加上了package A;则在工作目录"C:/work/ppp/A"下输入:
javac Hello.java
java -cp .;(此处为文件路径) A.Hello
解释:-cp 为一个选项,也可写为-classpath
.表示当前目录"C:/work/ppp/A"
;表示分隔符
(此处为文件路径) 在本例中为"C:/work/ppp"
A.Hello:因为java文件里第一行有"package A",所以此处必须为A.Hello

显然,在当前目录"C:/work/ppp/A"中找不到A.Hello,在"C:/work/ppp"中找到了A.Hello,所以上述两行将编译执行成功。

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

java编译通过说明你的程序没有语法错误(也就是javac的过程 javac java文件)
运行时java虚拟机运行程序(也就是java class文件)
找不到主类,说明你的java文件中没有实现如下的方法
/**
*该方法是程序启动的入口,没有该方法,java虚拟机找不到程序的入口,没办法启动程序
*/
public static void main(String[] args){
//这里是你的具体逻辑操作
}

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

入门就遇到这样的问题,环境变量按网上说的配好了,直接java 和 javac都有提示出来,说明没问题了,

做了一个简单java,放在e盘根目录下,在c:下操作javac该java文件成功了,但用java 该class时却提示“找不到或无法加载主类” ,忙活了半天,找了些资料,发现其实很简单,不是语句错误,是路径问题classpath的问题。

主要是以下两点要注意:

1、在classpath的最前面要加一个本目录路径,用.表示,由于后面还有java的dt和tools两个路径,所以.后要加;进行分隔表示。

2、更为重要的是,在cmd下运行javac 和java的时候,必须在该java文件的目录下运行,这样生成的class也在该目录下,java的时候也会第一个就在本目录下找class文件,就不 会提示找不到了。这个cmd运行路径由于一般不太注意,输入cmd就会直接到c:\个人文件夹下,而一般的java文件会用其它软件编写,放在选定的路径 下,这两个路径很少能主动重合,一运行当然找不到了,但是javac能认到,不知为什么java就提示找不到?这点有点奇怪。网上各种解决方法里很少注意 到其实就是这个小问题造成的找不到类,都想当然的以为是在java源文件路径下运行java,那当然就找不到基本问题所在了。

如果1、2都做了还是没变化,那就是该计算机改了环境变量后需要重新启动下让新的设置生效,重启下即可。

⑻ JAVA编译提示缺少主函数

把你的包设置一下,把eclipsel路径设置一下就好了

⑼ java运行显示“找不到或无法加载主类”!

该如何解决呢?解决办法如下:

1.由于是在运行阶段出现的问题,那么可能是环境变量配置不当的问题,即可能是classpath路径配置错误,而导致.class文件无法加载。那么此时你可以检查是否配置好classpath路径,一般来说classpath路径配置如下:

.;%java_home%lib;%java_home%lib ools.jar; (注意前面的 . 以及 ; 缺一不可)

其中.表示当前路径,;表示分隔符。

2.如果你试过了很多次,classpath也配置对了,依旧出现这个错误,注意你使用的测试代码,是否在某一个包名的下面;

比如说如下测试代码:

在文件所在的当前目录下,运行javac TestPlusPlus.java编译成功,生成TestPlusPlus.class文件,这个时

候,你用javaTestPlusPlus想运行程序,总会出现”找不到或无法加载主类“的错误。这个时候要注意,

之所以找不到,是因为TestPlusPlus在HelloWorld包名的下面。

解决办法:

1.去掉 ”packageHelloWorld;“ 重新用javac 编译TestPlusPlus.java,再运行javaTestPlusPlus就可以了。

2.新建一个包名一样的文件夹,在本例中,为建立一个HelloWorld的文件夹,把TestPlusPlus.java文件移到该目录下。

然后在HelloWorld文件夹的平级下,打开DOS命令窗口,运行javacHelloWorld/TestPlusPlus.java编译程序,

运行javaHelloWorld/TestPlusPlus(或者javaHelloWorld.TestPlusPlus也可以),则可以运行含有包名的java程序。

注意:包名不要含有'.'(点),' '(空格)等特殊符号,这样的话命令行无法判断包名与java程序名的分割点在哪里,

从而还是找到或者无法加载主类。

原理说明:

java程序运行class文件,对于有包名的类,java把包名当成文件夹处理."包名+类名"相当于"文件夹目录+类名"来寻找类。

⑽ 我设置好了java环境变量,编译也通过了,就是运行不了,命令提示符显示 错误:找不到或无法加载主类

最好把你的源码贴出来,我推测有以下两个原因:
1、源代码中没有main方法;
2、源代码中定义了package(包),那么在编译后就需要将class文件放入包名对应的文件夹下,例如我定义的包名是com.demo,源文件W.java在D:/test/下,那么我们在命令行进入test目录后执行javac W.java,执行完会在当前目录下生成W.class文件,此时直接接着执行
java W 肯定会报错,就是加上包名也不行(java com.demo.W),我们需要做的是在当前目录下新建一个com文件夹,然后在com下再新建demo文件夹,接着把W.class文件移到demo文件夹下,现在我们再执行java com.demo.W 就不会报错了。

阅读全文

与编译的类中找不到主方法错误提示相关的资料

热点内容
数控车床编程加工视频 浏览:245
程序员在公司受到委屈 浏览:783
玩和平精英显示连接不到服务器怎么办 浏览:705
安卓如何一步安装软件 浏览:493
云服开我的世界服务器标配 浏览:170
打印机的分配算法 浏览:634
新加坡服务器怎么进 浏览:620
上海女程序员上班被偷 浏览:377
如何添加后台app 浏览:350
中国移动机顶盒时钟服务器地址 浏览:943
如何开发app流程 浏览:427
哈尔滨编程培训课程 浏览:722
编程语言执行速度排行 浏览:174
启辰原厂导航如何装app 浏览:840
jsp项目优秀源码 浏览:757
如何查看电脑web服务器端口号 浏览:901
小区物业管理系统编程源码 浏览:96
王城战争为什么无法获取服务器列表 浏览:805
剑桥商务英语pdf 浏览:480
服务器如何不休眠 浏览:800