How to execute a java program with the help of Runtime.getRuntime().exec(). For example we shall have the java file path as c:/java/abc.java. Please help me with the code.
相关问题
- Delete Messages from a Topic in Apache Kafka
- Jackson Deserialization not calling deserialize on
- How to maintain order of key-value in DataFrame sa
- StackExchange API - Deserialize Date in JSON Respo
- Difference between Types.INTEGER and Types.NULL in
You should use ProcessBuilder instead of Runtime. Basic usage is like:
You will find more code under the link above. Also see this question.
You mean you want a Java program to run another Java program. This SO thread might be helpful, in that case.
Assuming that abc.java contains a main method that you want to execute:
Do not forget that:
you may have to set/update environment variable and PATH before executing your java command
CreateProcess: c:\j2sdk1.4.0\bin\helloworld error=2
means Win32's
CreateProcess
returns a 2 as error code when it cannot find the command you specify; more specifically, when the command does not refer to an executable file on its lookup path.Look at this SO question for a more complete "
Runtime.getRuntime().exec()
" code, and also to this snippet.This code creates a shell (as in
Runtime.getRuntime().exec("cmd /K")
), in which you write onsdtin
whatever command you want to execute.The interest of this approach is to reuse the shell process to benefit from a previous command: it you execute a '
cd
', then execute a 'dir
', the latter command would display the content of the directory referenced by thecd
command.The same would be true for
PATH
settings, just before usingjavac
orjava
.Please see the excellent resource which used to be called javaalmanac.
http://www.exampledepot.com/egs/java.lang/Exec.html