急!!!关于Javac和Java命令,在程序代码中调用该命令编译和运行任意位置的文件

2024-11-27 10:22:29
推荐回答(4个)
回答1:

这个是这样的啊,有两种解决办法

一:把包去掉
二:运行时候加上这个

java wo/Helloworld1

为什么会出现这样的原因呢?

因为打包的时候已经把.class文件打包到wo的文件夹下去了

而java命令执行的时候是在当前目录下找.class文件,如果找不到就会出错

所以。。。。。

呵呵

给你做个示范

C:\>javac -d . Helloworld1.java //打包

C:\>java Helloworld1
Exception in thread "main" java.lang.NoClassDefFoundError: Helloworld1 (wrong na
me: wo/Helloworld1)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Helloworld1. Program will exit.

成功后的是这样的:

C:\>java wo/Helloworld1
Hello world!

讲的不是很多,但原理就这样的哦

回答2:

有了包名的话就得
java 报名.test才能执行啊。否者找不到类。你的第二个问题也是这个。加上包名试试

回答3:

can kao: http://hi.baidu.com/christal_yhy/blog/item/965d28a3c69da4a4caefd03b.html

回答4:

Process p = run.exec("java test");
这里 可以改成 run.bat
run.bat中内容为
cd 目录
java test

直接java class文件应该是可以的
前面加上路径肯能会有问题