【问题标题】:Error: Could not find or load main class- Novice错误:无法找到或加载主类 - 新手
【发布时间】:2012-01-23 01:12:59
【问题描述】:

您好,我是 JAVA 的新手。尽管该文件存在于我在路径中指定的位置中,但我一直收到此文件未找到异常

最初我遇到了找不到文件的问题。但是,在执行干净并重新运行之后,现在我遇到了一个问题,上面写着

错误:无法找到或加载主类 main.main

import Message.*;
import java.util.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.PrintWriter;
public class main{  


public static void main(String[] args) {

        Message msg=new Message("bob","alice","request","Data@@@@");
        MPasser passerObj=new MPasser("C:\\Workspace\\config.txt","process1");

    }
}

在 MPasser 构造函数中还有以下相关代码

public class MPasser(String file_name,String someVariable){
    InputStream input;
        try {
            input =new RandomAccessFile(file_name,"r");
        } catch (FileNotFoundException e) {
            e.printStackTrace();        
            }
    Yaml yaml = new Yaml();
    Map<String, String> Object = (Map<String, String>) yaml.load(input);
}

抱歉,我已对初始查询进行了修改,以便更清楚

【问题讨论】:

  • 为什么你的构造函数有一个Class与之关联的关键字
  • 您应该尊重这种情况:public 而不是 Publicclass 如果这是类定义(尽管您在这里谈论的是构造函数)。那不应该是"r" 而不是'r' 吗? (正如其他人所说,您也缺少new。)
  • @Bruno "r" 已被处理,但问题仍然存在。这里要注意的一点是,它在 main() 函数的第 11 行显示错误,实际上没有这样的代码行。我想你是在谈论 new RandomAccessFile(file_name,"r"); 的新功能,这也无济于事
  • 第 11 行(引发异常的地方)位于没有代码的地方这一事实可能表明您实际上并未运行从最新源文件编译的代码版本。很难说,但既然你似乎表明你是一个新手,你能仔细检查一下吗?
  • 只是一个建议,你不应该将你的类命名为public class main main。始终使用表示代码用途的名称。

标签: java exception file-not-found


【解决方案1】:

在这一行:

input = RandomAccessFile("C:\Workspace\conf.txt",'r');

你需要转义\

input = RandomAccessFile("C:\\Workspace\\conf.txt",'r');

【讨论】:

  • 嗨,我试过了,但没有成功:(
  • 您是否也缺少new 关键字?
【解决方案2】:
 "C:\Workspace\conf.txt"

那些是转义序列。您可能的意思是:

 "C:\\Workspace\\conf.txt"

您似乎在一个 sn-p 中也称它为 config.txt,在另一个中称它为 conf.txt

【讨论】:

    【解决方案3】:

    确保 java 进程具有读取文件的权限。

    【讨论】:

    • 你能看看修改后的问题并提出一些建议吗?
    【解决方案4】:

    你必须转义反斜杠。

    input = RandomAccessFile("C:\\Workspace\\conf.txt",'r');
    

    还有

     input = new RandomAccessFile("C:\\Workspace\\conf.txt",'r');
    

    以及为什么你有两个不同的文件名conf.txtconfig.txt

    【讨论】:

    • 对不起,我的错。我已经编辑了我的初始查询。在粘贴代码时,我碰巧将其删除。道歉
    猜你喜欢
    • 2016-06-12
    • 2016-03-16
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多