Windows의 명령 행에서 Java 프로그램을 어떻게 실행합니까?
Windows의 명령 줄에서 Java 프로그램을 실행하려고합니다. 내 코드는 다음과 같습니다.
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class CopyFile
{
public static void main(String[] args)
{
InputStream inStream = null;
OutputStream outStream = null;
try
{
File afile = new File("input.txt");
File bfile = new File("inputCopy.txt");
inStream = new FileInputStream(afile);
outStream = new FileOutputStream(bfile);
byte[] buffer = new byte[1024];
int length;
// copy the file content in bytes
while ((length = inStream.read(buffer)) > 0)
{
outStream.write(buffer, 0, length);
}
inStream.close();
outStream.close();
System.out.println("File is copied successful!");
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
프로그램을 실행하는 방법을 잘 모르겠습니다. 어떤 도움이 필요하십니까? Windows에서 가능합니까? 다른 환경과 다른 이유는 무엇입니까?
출처 : javaindos.
파일이 C : \ mywork \에 있다고 가정 해 봅시다.
명령 프롬프트 실행
C:\> cd \mywork
이것은 C : \ mywork를 현재 디렉토리로 만듭니다.
C:\mywork> dir
디렉토리 내용이 표시됩니다. 파일 중 filenamehere.java가 표시되어야합니다.
C:\mywork> set path=%path%;C:\Program Files\Java\jdk1.5.0_09\bin
이는 시스템에 JDK 프로그램을 찾을 수있는 위치를 알려줍니다.
C:\mywork> javac filenamehere.java
컴파일러 인 javac.exe가 실행됩니다. 다음 시스템 프롬프트 만 표시됩니다.
C:\mywork> dir
javac는 filenamehere.class 파일을 작성했습니다. 파일 중 filenamehere.java 및 filenamehere.class가 표시되어야합니다.
C:\mywork> java filenamehere
This runs the Java interpreter. You should then see your program output.
If the system cannot find javac, check the set path command. If javac runs but you get errors, check your Java text. If the program compiles but you get an exception, check the spelling and capitalization in the file name and the class name and the java HelloWorld command. Java is case-sensitive!
To complete the answer :
The Java File
TheJavaFile.java
Compile the Java File to a *.class file
javac TheJavaFile.java
- This will create a
TheJavaFile.class
file
- This will create a
Execution of the Java File
java TheJavaFile
Creation of an executable
*.jar
fileYou've got two options here -
With an external manifest file :
Create the manifest file say - MANIFEST.mf
The MANIFEST file is nothing but an explicit entry of the Main Class
jar -cvfm TheJavaFile.jar MANIFEST.mf TheJavaFile.class
Executable by Entry Point:
jar -cvfe TheJavaFile.jar <MainClass> TheJavaFile.class
To run the Jar File
java -jar TheJavaFile.jar
In case your Java class is in some package. Suppose your Java class named ABC.java
is present in com.hello.programs
, then you need to run it with the package name.
Compile it in the usual way:
C:\SimpleJavaProject\src\com\hello\programs > javac ABC.java
But to run it, you need to give the package name and then your java class name:
C:\SimpleJavaProject\src > java com.hello.programs.ABC
Complile a Java file to generate a class:
javac filename.java
Execute the generated class:
java filename
It is easy. If you have saved your file as A.text first thing you should do is save it as A.java. Now it is a Java file.
Now you need to open cmd and set path to you A.java file before compile it. you can refer this for that.
Then you can compile your file using command
javac A.java
Then run it using
java A
So that is how you compile and run a java program in cmd. You can also go through these material that is Java in depth lessons. Lot of things you need to understand in Java is covered there for beginners.
You can compile any java source using javac in command line ; eg, javac CopyFile.java. To run : java CopyFile. You can also compile all java files using javac *.java as long as they're in the same directory
If you're having an issue resulting with "could not find or load main class" you may not have jre in your path. Have a look at this question: Could not find or load main class
Assuming the file is called "CopyFile.java", do the following:
javac CopyFile.java
java -cp . CopyFile
The first line compiles the source code into executable byte code. The second line executes it, first adding the current directory to the class path (just in case).
On Windows 7 I had to do the following:
quick way
- Install JDK http://www.oracle.com/technetwork/java/javase/downloads
- in windows, browse into "C:\Program Files\Java\jdk1.8.0_91\bin" (or wherever the latest version of JDK is installed), hold down shift and right click on a blank area within the window and do "open command window here" and this will give you a command line and access to all the BIN tools. "javac" is not by default in the windows system PATH environment variable.
- Follow comments above about how to compile the file ("javac MyFile.java" then "java MyFile") https://stackoverflow.com/a/33149828/194872
long way
- Install JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html
- After installing, in edits the Windows PATH environment variable and adds the following to the path C:\ProgramData\Oracle\Java\javapath. Within this folder are symbolic links to a handful of java executables but "javac" is NOT one of them so when trying to run "javac" from Windows command line it throws an error.
- I edited the path: Control Panel -> System -> Advanced tab -> "Environment Variables..." button -> scroll down to "Path", highlight and edit -> replaced the "C:\ProgramData\Oracle\Java\javapath" with a direct path to the java BIN folder "C:\Program Files\Java\jdk1.8.0_91\bin".
This likely breaks when you upgrade your JDK installation but you have access to all the command line tools now.
Follow comments above about how to compile the file ("javac MyFile.java" then "java MyFile") https://stackoverflow.com/a/33149828/194872
STEP 1: FIRST OPEN THE COMMAND PROMPT WHERE YOUR FILE IS LOCATED. (right click while pressing shift)
STEP 2: THEN USE THE FOLLOWING COMMANDS TO EXECUTE. (lets say the file and class name to be executed is named as Student.java)The example program is in the picture background.
javac Student.java
java Student
As of Java 9, the JDK includes jshell
, a Java REPL.
Assuming the JDK 9+ bin
directory is correctly added to your path, you will be able to simply:
- Run
jshell File.java
—File.java
being your file of course. - A prompt will open, allowing you to call the
main
method:jshell> File.main(null)
. - To close the prompt and end the JVM session, use
/exit
Full documentation for JShell can be found here.
Now (with JDK 9 onwards), you can just use java to get that executed. In order to execute "Hello.java" containing the main, one can use: java Hello.java
You do not need to compile using separately using javac anymore.
Since Java 11, java
command line tool has been able to run a single-file source-code directly. e.g.
java HelloWorld.java
This was an enhancement with JEP 330: https://openjdk.java.net/jeps/330
For the details of the usage and the limitations, see the manual of your Java implementation such as one provided by Oracle: https://docs.oracle.com/en/java/javase/11/tools/java.html
'Programing' 카테고리의 다른 글
.idea / workspace.xml을 무시할 수 없음-계속 팝업 (0) | 2020.05.06 |
---|---|
메모리 주소가 아닌 경우 C 포인터는 정확히 무엇입니까? (0) | 2020.05.06 |
.AsNoTracking ()의 차이점은 무엇입니까? (0) | 2020.05.06 |
OpenGL에서 프리미티브를 와이어 프레임으로 어떻게 렌더링합니까? (0) | 2020.05.06 |
JavaScript 변수는 외부 또는 내부 루프를 선언합니까? (0) | 2020.05.06 |