Ich habe Java von Command Prompt
in Win 7 Ultimate mit nur Dateiname (Ex. javac program.java
und Java-Programm) vor dem Ausführen von Java durch Notepad ++ Skript ausgeführt.Java Konnte nicht Hauptklasse Fehler nach dem Ausführen von Notepad ++
Nach der Verwendung von Notepad ++ Skript und Update von Java auf Version jdk-8u77-windows-i586
konnte ich nur Java nur von Notepad ++ ausführen. Ich bekomme
Error: Could not find or load main class CopyFile
, wenn ich es in Eingabeaufforderung. Aber ich kann 'javac' in der Befehlszeile verwenden, um das Java-Programm zu kompilieren.
Unten ist mein Notepad ++ Skript, das Java-Programm darin ausführt.
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)"
Ich habe Umgebungsvariablen überprüft und alle sind gesetzt. Ich habe sie unten angegeben.
CLASSPATH
C:\Program Files (x86)\Java\jdk1.8.0_77\bin;C:\Program Files (x86)\Java\jre1.8.0_77\bin
JAVA_HOME
C:\Program Files (x86)\Java\jdk1.8.0_77
Pfad
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\
Unten ist die Java-Datei.
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");
}
}
}
}
sogar in der Lage, ich könnte es in der Befehlszeile laufen nur durch
java -classpath . CopyFile
Ich bin nur neugierig, was falsch sein könnte.
Wenn Sie versuchen, von einem Befehl auszuführen Linie, was ist der Fehler, den Sie bekommen? – mobiuseng
Ich bekomme 'Fehler: Hauptklassendateiname konnte nicht gefunden oder geladen werden. – Dhay
fügen Sie Ihre Java-Datei ein –