【发布时间】:2015-05-31 09:10:59
【问题描述】:
大家好,我想在我的 javaprogram 中运行 java 程序。
但是,当我尝试执行 java 命令时,它告诉我:
java c:\works\Sample stderr: 错误: 无法找到或加载主类 c:\works\Sample
这是我的代码:
private void runButtonActionPerformed(java.awt.event.ActionEvent evt) {
Processor p = new Processor();
try {
int k = p.runProcess("javac c:\\works\\Sample.java");
if (k == 0) {
k = p.runProcess("java c:\\works\\Sample");
}
System.out.println("Value of k: " + k);
} catch (Exception e) {
e.printStackTrace();
}
}
这是我的处理器类
public class Processor {
public void printLines(String name, InputStream ins) throws Exception {
String line = null;
BufferedReader in = new BufferedReader(
new InputStreamReader(ins));
while ((line = in.readLine()) != null) {
System.out.println(name + " " + line);
}
}
public int runProcess(String command) throws Exception {
Process pro = Runtime.getRuntime().exec(command);
printLines(command + " stdout:", pro.getInputStream());
printLines(command + " stderr:", pro.getErrorStream());
pro.waitFor();
// System.out.println(command + " exitValue() " + pro.exitValue());
return pro.exitValue();
}
}
我的文件在“C:\works\”下
您的回复将不胜感激!
【问题讨论】:
-
java与javac不同。基本区别之一是它期望full.package.name.of.YourClass,而不是c:/location/of/YourClass。它还期望在您要运行的类的包的类补丁参数位置中。 -
如果我没有包裹怎么办?
-
works 文件夹下是 .class 文件和 .java 文件。那里只有两个文件。
-
使用
java -cp locationODirectoryHoldingfYourClassWithoutPackage YourClass -
^成功了!但它只写在我的控制台上。如果我希望它出现在 CMD 本身上怎么办?
标签: java