【发布时间】:2015-08-29 07:52:19
【问题描述】:
我有这个问题:
要编译和运行 Java 程序,我必须执行以下操作:
在cmd.exe中运行命令
path C:\Program Files\Java\jdk1.7.0_75\bin
然后我必须编译程序:
C:\Documents and Settings\Java\HelloWorld>javac HelloWorld.java
...然后运行:
C:\Documents and Settings\Java\HelloWorld>java HelloWorld
为了不遵循这些步骤,我编写了简单的 C 程序:
#include <stdio.h>
#include <stdlib.h>
#define _JAVA
#define JAVAC
int main(int argc, char *argv[])
{
char comand[261];
if(argc < 2)
{
printf("Error: not enougth arguments. Example: %s <java program name>\n", argv[0]);
return 0;
}
system("path \"C:\\Program Files\\Java\\jdk1.7.0_75\\bin\"");
#ifdef JAVA
sprintf(comand, "java \"%s\"\0", argv[1]);
#elif defined JAVAC
sprintf(comand, "javac \"%s\"\0", argv[1]);
#else
#error must defined JAVA or JAVAC
#endif
system(comand);
return 0;
}
但它不起作用:cmd 看不到“java”或“javac”。
我该如何解决?
【问题讨论】:
-
您是否将
java和javac添加到您的environment variables中? -
我是用命令路径做的,不是吗?
-
您可以使用
control panel进行操作。谷歌一下就行了。 -
我假设第二个
system()看不到path变量的修改。请参阅 stackoverflow.com/questions/245600/… 并尝试在单个system()调用中运行这两个命令。 -
每个系统命令都可能是独立的。我会使用 shell 或批处理脚本来执行此操作。