找不到符号错误javac命令

时间:2016-10-07 16:30:38

标签: java

我正在使用终端来编译和构建java程序。 所以我有2个类CP1CP2属于包名current,它们在2个独立的.java文件中实现 - CP1.javaCP2.java 虽然类是微不足道的,但这里是代码

CP1.java:

package current;
public class CP1{
                  void hello(){
                               System.out.println("CP1 class is used");
                  }
   }

CP2.java:

package current;
public class CP2{
                  public static void main(String [] args){
                               System.out.println("CP2 class is used");
                               CP1 c= new CP1();
                  }
   }

由于CP1和CP2在同一个包中定义,因此我不会导入当前包。两个.java文件都在同一目录中。 CP1.java编译,结果是CP1.class文件。现在我尝试使用-cp选项编译CP2.java:

javac -cp . CP2.java

但是,这会导致错误消息:

symbol: class CP1    
location: class CP2
CP2.java.  error: cannot find symbol 
                  CP1=new CP1

我尝试了各种路径到cp,但仍然得到相同的错误消息。我究竟做错了什么?

1 个答案:

答案 0 :(得分:2)

你缺少实例变量名,所以它应该是这个

CP1  objname = new CP1();

不是这个

CP1 = new CP1();

注意:objname可以替换为任何有效的变量名称,因此您可以在线搜索命名指南/如何命名变量或可以尝试Official doc link

更新:按照以下步骤进行编译

1.。)好像你在文件所在的位置,所以只需这样做

javac -d . CP1.java

javac -d . CP2.java
如果不存在,

-d将为您生成包。