用命令行如何编译package中的java文件?

来源:百度知道 编辑:UC知道 时间:2024/06/08 11:41:48
我写了两个源文件 一个有main函数的 记做A.java 另一个是B.java

A.java 开头不加package ***; 的时候是可以成功的单独编译运行的。

现在我想在A中使用B的内容 所以在AB前面都加了 package ***; 的语句

可是这样编译的时候只有B.java能通过编译,

A.java提示Exception in thread "main" java.lang.NoClassDefFoundError

请问这是怎么一回事,我怎样做才能使AB都能通过编译并运行?

另外是只要在包中文件头都加上package 包名; 就行吗?还是要写import之类的?
编译的时候用的是这样的命令:
javac -d.B.java
javac A.java
两个编译都通过
运行java A 的时候 提示Exception in thread "main" java.lang.NoClassDefFoundError

Exception in thread "main" java.lang.NoClassDefFoundError
这个错误的出现是与A.java文件所在的目录有关系

例如:在没有加package的时候,A.java,B.java放在在根目录下E:\A.java
这个时候在dos E:\下,是可以编译执行A.java的

当加入package以后,这个就行不通了:java认为在建立package的时候也同时应该建立对应的目录,java文件应该放在这个目录下。
例如: A.java B.java 你用的package a.b;
这个时候,就应该把文件放在目录E:\a\b下
然后在dos E:\ 进行如下的编译
javac a\b\A.java
然后运行 java a/b/A
就能正常运行了。

汗 NoClassDefFoundError异常 说明你A类里面不知道B类 我看是你的B类没有public吧 一个类要能够被另外一个类import必须的public 而不是default,你把B类的写成如下在试试:
package ***;
public class B{

}

A类使用:
package **;// a的包名
import ***.B; //导入B
public class A{//your fun}

一、先建立一个包,把两个类放到放进里面,然后调用编译。
二、如果两个类不在同一个包内,需要导入包名,用import 导入,
important 后面跟包的名称,试试看。

找不到指定的类文件!

package  是说你的类文件在那个包下

import   是说你需要引用的类文件路径

package是每个类不可缺少的东西

import是你想用其他类,导入此类的路径

JAVA用命令行编译不出包,为什么?详细如下: 如何用命令提示符 用命令行关机 photoshop中如何用命令? 如何用命令添加用户?????????????? 如何用命令添加用户???????????? 如何用命令提示符关闭垂直同步? 如何用命令启用和禁止本地连接 如何用命令方式运行java Applet 如何用命令添加随机启动项目?