java运行中找不到main方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java运行中找不到main方法相关的知识,希望对你有一定的参考价值。
public class HelloWorld
public static void main(String [] args)
System.out.println("HelloWorld");
System.out.println(456);
。该程序可通过编译,但用java运行时,就会出现错误:Exception in thread "main" java.lang.NoSuchMethodError: main
请高手赐教是出了什么问题?
我的环境变量配置为:
classpath: .;D:\jdk1.6.0_13\lib\dt.jar;D:\jdk1.6.0_13\lib\tools.jar;E:\java
path: D:\jdk1.6.0_13\bin
path_home: D:\jdk1.6.0_13
各位再抽点时间帮忙看看,配置中哪里有错了?我实在找不到错误在哪了,先谢谢了!
解释:java运行中规定main方法作为java项目的入口之一,也就是说如果运行的是java类,但是类中没有main方法,此时就会报此错错误。
解决办法:在类中创建main方法,或者是去有main方法的类中执行。 参考技术A 回答
您好友友,经我们的查询与研究,为您整理以下内容:我常用的几种方法:1、检验Main函数的写法:public static void main(String XXX[])2、检验JDK是否出错:打开C盘->Program Files->Java,看是否有jdk1.6.0或其它版本的文件夹,如果没有赶紧去Sun的官方网站下载。3、检验环境变量:右键点击我的电脑,选择属性->高级->环境变量,看CLASSPATH是否包括jdk包的bin地址。JBuilder2006会自动更改该变量,但有可能安装出错了。(JBuilder通常用自己的jdk)4、测试:创建一个简单的java文件,点击开始,打开“运行”,输入cmd,输入javac XXX.java,然后java XXX,看是否还出现此错误5、将编写的java文件找到,在cmd命令运行试试 1
参考技术B 回答一、问题描述错误: 在类 com.zpt.three.GenericTest1 中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.application.Application二、解决方法其实能碰到这个问题大家可能都不是差一句public static void main(String[] args)很有可能是不小心导入了其他的同名包!我的问题就是导入了一个不是常用的String(自动补全补的)把它去掉就好了五、一点碎碎念1.如有问题以及建议,欢迎联系邮箱:zpt艾特mail.nankai.edu.cn(为了防止被爬虫,艾特换为@)2.也欢迎通过微信公众号:SoulDa 进行交流
提问怎样导入一个不是常用的String,把他去掉就可以了
参考技术C 楼主,你好!上面的程序,没有错,
首先,Java命令如果不能运行,确认你的classpath路径设置正确,
好,那我们来运行:
编译 javac HelloWorld.java
运行 java HelloWorld
还有错!!那百度一下,Java 路径设置!!网友的回答很详细,的!!
祝楼主早日成功!!本回答被提问者采纳 参考技术D 可能你没有装好软件。好像我也有过。有时重启下就可以了。是重启软件哦,,
在类中找不到 main(String[]) 方法:TapeDeck。主要方法在运行程序的另一个类中
【中文标题】在类中找不到 main(String[]) 方法:TapeDeck。主要方法在运行程序的另一个类中【英文标题】:Can't find main(String[]) method in class: TapeDeck. The main method is in the other class which runs the program 【发布时间】:2019-09-11 16:13:54 【问题描述】:我有两节课。当我将类 TapeDeckTestDrive 首先放在文本编辑器上时,它运行良好。当我把TestDrive类放在第一位时,它给出了找不到主类的错误。这是为什么呢?
class TapeDeck
boolean canRecord = false;
void playTape()
System.out.println("tape playing");
void recordTape()
System.out.println("tape recording");
class TapeDeckcTestDrive
public static void main(String[] args)
TapeDeck t = new TapeDeck();
t.canRecord = true;
t.playTape();
if (t.canRecord == true)
t.recordTape();
此格式错误
VS
以下工作正常:
class TapeDeckcTestDrive
public static void main(String[] args)
TapeDeck t = new TapeDeck();
t.canRecord = true;
t.playTape();
if (t.canRecord == true)
t.recordTape();
class TapeDeck
boolean canRecord = false;
void playTape()
System.out.println("tape playing");
void recordTape()
System.out.println("tape recording");
【问题讨论】:
你的java类(文件)名是什么? 解决这个问题的简单方法,也是最好的方法是每个文件有一个类。 @Abdul Hussain 请告诉文件名 它运行良好,它给出了错误:什么是“它”。你如何执行你的应用程序? 这不是执行课程的最佳方式。首先你用 javac 编译你的代码。然后使用 java 并传递包含 main 方法的类的完全限定名称。 【参考方案1】:在某些 JDK 中,JVM 首先处理入口点函数,因此需要先编写它,然后再编写其余代码。由于 main 函数是我们的入口函数,所以必须先编写。
【讨论】:
【参考方案2】:您可以通过两种方式运行 java 程序。
直接运行java程序
java example_program.java
在这种类型中,编译和执行发生在运行时。那是 字节码立即生成并执行(作为解释器工作) 所以,你必须先使用超类(包含主方法),然后再使用其他 复合类。
注意: 不会生成 .class 文件。这意味着,它将在内部生成字节码并执行。程序员无法查看类文件。
在第二种类型中,首先,你应该编译,
javac example_program.java
它将生成 example_program.class 。然后,使用,执行类文件,
java example_program
在这里,编写类的顺序不受影响。您可以按任何顺序编写类。它会正常工作的。
【讨论】:
【参考方案3】:首先,您必须使用javac
编译文件。
然后,您必须运行该文件。
编写 main 的类名。
javac filename.java
java classname
【讨论】:
【参考方案4】:使用命令编译代码后:
javac fileName.java
通过仅指定 fileName
而不带 .java
扩展名来运行 java .class
文件
java fileName
如果您使用fileName.java
,它将不会运行特定的.class
文件;它将尝试解释.java
文件。如果要解释 .java
文件,则父类必须包含 main(String[])
方法。
【讨论】:
【参考方案5】:我将它分成两个文件,并将 public 添加到类/方法以及布尔值。现在代码运行。
【讨论】:
以上是关于java运行中找不到main方法的主要内容,如果未能解决你的问题,请参考以下文章
java中已经定义了main函数,运行报错类中找不到主方法,求大神解答是啥原因!
在类中找不到 main(String[]) 方法:TapeDeck。主要方法在运行程序的另一个类中
eclipse 运行错误:在类XXX中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应