当前位置: 首页 > 知识库问答 >
问题:

Java在Notepad++运行后找不到主类错误

步胜
2023-03-14

在运行java by Notepad++脚本之前,我在Win 7 Ultimate中仅使用文件名(例如javac program.java和java程序)运行java by命令提示符

在使用Notepad++脚本并将Java更新到版本jdk-8u77-windows-i586后,我只能通过Notepad++运行Java。我得到了

NPP_SAVE
cd "$(CURRENT_DIRECTORY)" 
"C:\Program Files (x86)\Java\jdk1.8.0_77\bin\javac" $(FILE_NAME)
"C:\Program Files (x86)\Java\jdk1.8.0_77\bin\java"  -classpath "$(CURRENT_DIRECTORY)" "$(NAME_PART)"
C:\Program Files (x86)\Java\jdk1.8.0_77\bin;C:\Program Files (x86)\Java\jre1.8.0_77\bin
C:\Program Files (x86)\Java\jdk1.8.0_77
C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Java\jdk1.8.0_77\bin;C:\Program Files (x86)\Java\apache-maven-3.3.9\bin;C:\xampp\ImageMagick-6.9.1-Q16;C:\Python27\;C:\Python27\Scripts;C:\Python27\DLLs;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;D:\Dhay\Tasks by me\Firefox addon job\addon-sdk-1.17\bin;C:\Program Files\MySQL\MySQL Server 5.1\bin;C:\Program Files\Google\Cloud SDK\google-cloud-sdk\bin;C:\Program Files (x86)\Common Files\lenovo\easyplussdk\bin;C:\Program Files (x86)\QuickTime\QTSystem\
import java.io.*;
class CopyFile
{
    public static void main (String args[]) throws IOException
    {
        int i;
        FileInputStream fin = null;
        FileOutputStream fout = null;
        if(args.length != 2)
        {
            System.out.println("Usage: CopyFile from to");;
            return;
        }
        try
        {
            fin = new FileInputStream(args[0]);
            fout = new FileOutputStream(args[1]);
            do {
                i = fin.read();
                if(i != -1) fout.write(i);
            } while(i != -1);
        } catch(IOException e){
            System.out.println("I/O Error: " + e);
        } finally {
            try 
            {
                if(fin != null) fin.close();
            } catch(IOException e2)
            {
                System.out.println("Error Closing Input file");
            }
            try
            {
                if(fout != null) fout.close();
            } catch(IOException e2)
            {
                System.out.println("Error Closing Output File");
            }
        }
    }
}

即使是我也可以在命令行中运行它

java -classpath . CopyFile

我只是好奇可能会有什么问题。

共有1个答案

宦瀚
2023-03-14

当前目录不在类路径中,所以java找不到您的类,然后告诉java,到当前目录查找CopyFile的方法如下:

java -classpath . CopyFile
 类似资料:
  • 我遇到了一个问题,找不到主类错误与一个有点复杂的程序,我正在工作。为了消除可能的问题,我决定尝试一个hello world程序,看看我是否能让它发挥作用。我在一个服务器上工作,我很确定它运行的是Red Hat Enterprise6。为了回答这个问题,我遵循了Bart Kiers提供的以下步骤: null 如果我键入java-version,将显示版本信息,这表明我的PATH变量设置正确。有人对可

  • 我使用NetBeans的教程在java中创建了一个程序,它在Windows中运行得很好。但是,当我尝试运行相同的在Linux(RedHat)中,我遇到以下异常: 线程“main”java中出现异常。lang.UnsupportedClassVersionError:JVMCFRE003主版本错误;类=我的/数字编辑/数字编辑UI,偏移量=6 通过运行此命令: java-jar NumberAddi

  • 问题内容: 我有一个由Eclipse生成的.jar,我无法在其他计算机(与Windows XP)上运行。出现“找不到主类。程序将退出”消息。那台计算机可以在Netbeans生成的另一个.jar上正常运行,所以我想JRE并不是问题。我更新了JRE,但没有改变。问题是什么? 更新:我忘了提,我做了一个可运行的jar文件。在另外两台计算机上,它可以正常工作(win 7和XP),但在特定计算机上则不能。

  • 问题内容: 所有, 我的类路径已设置为以下文件夹: 我所有的Java文件和类文件都在中列出的文件夹下。 但是在运行in 文件夹时出现以下错误: 谁能帮我理解这里的原因? 问题答案: 您在包装内。您应该坐在包根目录中。上一个文件夹。 然后使用重新执行它。 就是说,您不应该使用环境变量。您的当前也是无效的。未加引号的路径名中有空格。另外,该文件夹不应放在类路径中。只需使用like这样的参数(坐在包根文

  • 似乎不知道为什么这个简单的程序在我的电脑上停止工作。我编译的程序直到视窗更新都很好,但是当我试图编译一个新程序时,我得到了以下信息。我附上了程序的图片和命令提示符错误信息。我检查了CLASSPATH,它看起来很好。 程序-HelloWorldApp。JAVA 执行javac HelloWorldApp。爪哇——一切都很好 执行java HelloWorldApp- 错误:在HelloWorldAp

  • 问题内容: 我已经编写了以下Java源文件(): 我将此保存到。 从命令行,我导航到该目录并运行。然后我运行: 然后,从我刚运行过的同一目录运行并获取: 这里发生了什么?!?如何运行正常,但不能运行? 问题答案: 您的课程属于该包。因此,您的课程的全限定名是。在命令行上使用java调用程序时,应提供包含方法的类的标准类名,并省略 .class ,如下所示: Java程序需要此完全限定的类名来了解您