package cn.mybole;
import com.mr.*;
class Test
{
public static void main(String[] args)
{
// System.out.print("package test!");
Test2 t2=new Test2();
}
}package com.mr;
public class Test2{}我看了没错误啊,为什么会出现下面的这种错误呢
错误如下:can not resolve symbol Test2 t2=new Test2()
import com.mr.*;
class Test
{
public static void main(String[] args)
{
// System.out.print("package test!");
Test2 t2=new Test2();
}
}package com.mr;
public class Test2{}我看了没错误啊,为什么会出现下面的这种错误呢
错误如下:can not resolve symbol Test2 t2=new Test2()
├───cn
│ └───mybole
│ └───Test.class
├───com
│ └───mr
│ └───Test2.class然后在root目录
java cn.mybole.Test我试验通过
public class Test2{}然后Test2 t2=new Test2();也是没有问题的
还不知道我什么错误,我看是可以的,楼上的有的都编译通过了,
编译Test2.java 后 在同目录生成了Test2.class文件,但没自动生成包路径,
这时候编译Test.java 会得到LZ的错误,
我手动创建了Test2的文件夹,并把Test2.class放进去,然后返回根目录编译Test.java 编译通过
root
│───Test.java
│───Test2.java这个问题很久以前我也遇到过,所以比较注意,我就多说几句
如果你的目录结构本来如下root
├───cn
│ └───mybole
│ └───Test.java
├───com
│ └───mr
│ └───Test2.java
首先你编译Test2.java 得到root
├───cn
│ └───mybole
│ └───Test.java
├───com
│ └───mr
│ └───Test2.java
│ └───Test2.class然后你到
root
├───cn
│ └───mybole
下编译Test.java
这时候你的classpath 就没有Test2.class,需要手动指定如下编译>root/cn/mybole: javac -classpath %classpath%;root Test.java