把记事本中的JAVA程序导入eclipse中,出现“package does not match the expected package”错误?

程序Test31.java在CMD中可以正常运行(javac -d . Test31.java),在当前目录生成包,但把代码导入eclipse中,第一行的“ package gz.mythread;”就会出错,应该是路径不对,请问在ECLIPSE中怎样设置package,谢谢。
代码如下:

package gz.mythread; //在ECLIPSE中,这一行报错

class Info{
private String name="xiaoting";
private String context="teacher";
private boolean flag=false;
public synchronized void set(String name,String context){
if(!flag){
try{
super.wait();
}catch(Exception e){
e.printStackTrace();
}
}
this.setName(name);
try{
Thread.sleep(300);
}catch(Exception e){
e.printStackTrace();
}
this.setContext(context);
flag=false;
super.notify();
}
public synchronized void get(){
if(flag){
try{
super.wait();
}catch(Exception e){
e.printStackTrace();
}
}
try{
Thread.sleep(300);
}catch(Exception e){
e.printStackTrace();
}
System.out.println(this.getName()+"-->"+this.getContext());
flag=true;
super.notify();
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public String getContext(){
return context;
}
public void setContext(String context){
this.context=context;
}
}
class Producer implements Runnable{
……
}
class Consumer implements Runnable{
……
}
public class Test55 {
public static void main(String[] args){
Info i=new Info();
Producer pro=new Producer(i);
Consumer com=new Consumer(i);
new Thread(pro).start();
new Thread(com).start();
}
}

你的这个类文件在导入到eclipse中时应该先建一个包,包名就是gz.mythread

看附图

把com.sen.action这个包名换成gz.mythread
就行。如果没建包,软件会默认一个default包名上去,把这个包名rename成gz.mythread
也可以

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-11

    你用eclipse创建程序他是会自动编译你的语法是否正确,符合java规范,你用记事本改成java文件用eclipse打开,这因为eclipse就相当于一个高级记事本他是不会编辑里面的代码,所以你看不到错误了。

    你的这个类文件在导入到eclipse中时应该先建一个包,包名就是gz.mythread。

    把com.sen.action这个包名换成gz.mythread就行。如果没建包,软件会默认一个default包名上去,把这个包名rename成gz.mythread也可以。

本回答被网友采纳
第2个回答  2015-03-04
右键单击在上面的source下,选择相应的source folder,点击右边的Edit,
在Linked folder location对话框中的路径后追加路径到包的上一层。
相似回答