我想自己做一个软件包,我将Point.java文件拷贝至f:\javatext1\ch1\a\下,Point.java中代码如下
package ch1.a;
public class Point {
protected int x,y;
public void setPoint (int a,int b)
{x=a;y=b;}
public double getX() {return x;}
public double getY() {return y;}
}
用javac.exe编译,在f:\javatext1\ch1\a下生成Point.class类文件。
在dos下设置类路径变量
set classpath=f:\javatext1
同时在f:\javatext中有PointTest.java文件,其内容如下:public class PointTest {
public static void main (String[] args)
{ch1.a.Point p= new ch1.a.Point();
int i=0;
String outText;
System.out.println("variable i=" + i);
outText="X coordinate is " +p.getX()+"\n Y coordinate is "+ p.getY();
System.out.println("(" + ++i +")" + outText);
p.setPoint(48,124);
outText="X coordinate is " + p.getX() +
"\n Y coordinate is " + p.getY();
System.out.println("("+ ++i +")" + outText);
}
}
对这个文件编译时怎么老是提示说ch1.a的软件包不存在呢,我前面明明已经生成ch1.a 的软件包了啊,望高手赐教,不胜感激
package ch1.a;
public class Point {
protected int x,y;
public void setPoint (int a,int b)
{x=a;y=b;}
public double getX() {return x;}
public double getY() {return y;}
}
用javac.exe编译,在f:\javatext1\ch1\a下生成Point.class类文件。
在dos下设置类路径变量
set classpath=f:\javatext1
同时在f:\javatext中有PointTest.java文件,其内容如下:public class PointTest {
public static void main (String[] args)
{ch1.a.Point p= new ch1.a.Point();
int i=0;
String outText;
System.out.println("variable i=" + i);
outText="X coordinate is " +p.getX()+"\n Y coordinate is "+ p.getY();
System.out.println("(" + ++i +")" + outText);
p.setPoint(48,124);
outText="X coordinate is " + p.getX() +
"\n Y coordinate is " + p.getY();
System.out.println("("+ ++i +")" + outText);
}
}
对这个文件编译时怎么老是提示说ch1.a的软件包不存在呢,我前面明明已经生成ch1.a 的软件包了啊,望高手赐教,不胜感激
把Point.java和PointTest.java拷贝到f:\javatext1目录下
进入命令行,进入f:\javatext1
执行javac -d . *.java
就能编译生成Point.class和PointTest.class了
java PointTest
就能运行了
把Point.java放到f:\javatext1目录
把PointTest.java放到f:\javatext目录
命令行
f:\javatext1>javac -d . Point.java
f:\javatext1>cd ..
f:>cd javatext
f:\javatext>javac -classpath f:/javatext1 PointTest.java
f:\javatext>java -classpath f:/javatext;f:/javatext1 PointTest
你可以把PointTest.java放在f:\javatext1文件夹下面,就不会有错了。
哎,IDE害人不浅,基本的都快忘了
Exception in thread "main" java.lang.NoClassDefFoundError: ch1/a/Point
at PointTest.main(PointTest.java:3)
怎么回事呢
就是没有找到 Point类文件。你看看ch1/a/下面有没有Point.class ,注意大小写
或者用eclipse工具,打成.jar包
如果LZ想学习如何在DOS命令行下操作,呵呵,挺好,但也没啥大意思,了解下就行了
运行的时候这样运行