站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题怎样编译包中的类?

怎样编译包中的类?

摘要: 怎样编译包中的类?


package p2;
public class Ba{
String a;
double b;
public Ba(String aa,double bb){
a=aa;
b=bb;
}
public void show(){
if (b<0)
System.out.println("小于0!");
System.out.println(a);
}
}


import p2.*;
public class TestBa{
public static void main(String args[]){
Ba ba = new Ba("test",6);
ba.show();
}
}

D:/java>c:/jdk1.4/bin/javac p2/TestBa.java
这句就能通过

D:/java>c:/jdk1.4/bin/java p2/TestBa
这句就报错了.
错误信息:
Exception in thread "main" java.lang.NoClassDefFoundError: p2/TestBa (wrong name
: TestBa)

请问各位怎样编译包中的类呢?



把p2/TestBa改成p2 testBa或 p2.TestBa 试一试





你进入到p2 这个目录后直接运行就可以了
`……/p2>java TestBa


J_fox()
你进入到p2 这个目录后直接运行就可以了
`……/p2>java TestBa
-------------------------------------------------------------------
D:/java/p2>c:/jdk1.4/bin/java TestBa

这样也会报错
Exception in thread "main" java.lang.NoClassDefFoundError: p2/Ba
at TestBa.main(TestBa.java:4)



zhxjcooler()
把p2/TestBa改成p2 testBa或 p2.TestBa 试一试
------------------------------------------------------
D:/java>c:/jdk1.4/bin/java p2 TestBa
报错:Exception in thread "main" java.lang.NoClassDefFoundError: p2

D:/java>c:/jdk1.4/bin/java p2.TestBa
报错:Exception in thread "main" java.lang.NoClassDefFoundError: p2/TestBa (wrong name
: TestBa)


初学java,实在没搞懂.



是不是没在CLASSPATH中加当前路径呀?


不是你的问题你JVM虚拟机的BUG.
你看看这个以前的帖 讨论过这个问题。
http://community.csdn.net/Expert/topic/5138/5138471.xml?temp=.7552759


如果文件路径为c:/p2/TestBa
java -CLASSPATH c:/p2 TestBa
或 java -CLASSPATH c: p2.TestBa



各位老大,好像和我这个问题不一样啊。


一个单独的能编译成功不?


我是新手
我是这样编译的
先在命令提示符里找到该java文件的所在的当前路径
然后用 -d 后面跟路径
就可以成功了



D:/java>c:/jdk1.4/bin/javac p2/TestBa.java
这句就能通过

D:/java>c:/jdk1.4/bin/java p2/TestBa
这句就报错了.
错误信息:
================
运行的时候这样:
java p2.TestBa


单独的可以。


还是没有解决啊。高手们帮帮忙啊!
分不够可以加。


http://gceclub.sun.com.cn/yuanchuang/week-10/package.html

看看,你能否明白....
java p2.TestBa



package p2;
public class Ba{
String a;
double b;
public Ba(String aa,double bb){
a=aa;
b=bb;
}
public void show(){
if (b<0)
System.out.println("小于0!");
System.out.println(a);
}
}


import p2.*;
public class TestBa{
public static void main(String args[]){
Ba ba = new Ba("test",6);
ba.show();
}
}

D:/java>c:/jdk1.4/bin/javac p2/TestBa.java
这句就能通过

D:/java>c:/jdk1.4/bin/java p2/TestBa
这句就报错了.
错误信息:
Exception in thread "main" java.lang.NoClassDefFoundError: p2/TestBa (wrong name
: TestBa)

请问各位怎样编译包中的类呢?
==============
==============
你的两个class分别是放在两个文件里的吧!
你先javac -d 第一个文件的路径(就是Ba那个)
然后再编译你后面的那个,
你要看清你后面的那个不是在package p2里面的
所以这所以运行不了,是因为路径错了,还有就是我将我第二个class 里的import p2.*;
改成了import p2.Ba;(因为没有改这前我这边编译不了)
就是样,我在我这里运行成功的!++***注意,TestBa不在P2包里


↑返回目录
前一篇: 关于多线程中为减少争用采用的锁崩溃方法
后一篇: 格式化数字和日期真是一大块内容啊!!!