Java 错误:无法找到或加载主类(与类路径/环境变量有关)
这已经被问了无数次了,但我还没有找到解决办法。我的代码:Java 错误:无法找到或加载主类(与类路径/环境变量有关),java,Java,这已经被问了无数次了,但我还没有找到解决办法。我的代码: import java.util.Scanner; import java.io.*; public class Reverse { public static void main(String[] args) { File myFile = new File(args[0]); try { Scanner input = new Scanner(myFile); String m
import java.util.Scanner;
import java.io.*;
public class Reverse
{
public static void main(String[] args)
{
File myFile = new File(args[0]);
try
{
Scanner input = new Scanner(myFile);
String message = "";
while(input.hasNext())
{
message = input.nextLine() + message;
}
System.out.println(message);
input.close();
}
catch(FileNotFoundException e)
{
System.exit(1);
}
}
}
详情:
- 通过Mac上的Eclipse进行编码
- 使用javac Reverse.java在命令行上运行,然后使用java Reverse.java(编辑:java Reverse works)
编辑:我现在的问题是,java-classpath是如何实现的。反向工作?我不太理解-classpath标记和“.”标记。正如Pradeep的评论所提到的,您需要运行
JavaReverse
,而不是JavaReverse.java
。否则,它将查找名为Reverse.java
的类,该类不存在。
您的类称为Reverse
作为对编辑问题的回答,
java-classpath.
基本上告诉java
使用当前工作目录
作为类路径的一部分。classpath
是java查找要加载和运行的类的路径。可能与我刚才在您的程序中运行的类重复,我没有收到您提到的任何错误。通过“JavaReverse”而不是“Reverse.java”运行,我尝试了javacreverse.java,然后是java-classpath。相反,它是有效的。同样做javac Reverse.java,那么java Reverse也可以工作。但我真的不知道类路径背后是什么,它是什么doing@B.A.,我刚刚更新了我的答案以解决您的编辑问题。@SotiriosDelimanolis,谢谢您的更正,我已经更新了答案。您如何用更简单的术语解释?这是否意味着classpath正在查看项目文件中的bin和src?如果您从命令行运行java-classpath.
,它将只将当前目录添加到您的classpath中。注意单词add,而不是替换为。根据您的环境设置,类路径中可能有其他内容,但是如果您没有显式添加它们,bin
或src
应该或不应该在类路径中,则没有特定的原因。