当我将一个包导入到我的MyLib
类(这需要-cp
到javac(时,我无法再编译MyMain
类。
MyMain.java:
class MyMain
{
public static void main (String [] args)
{
MyLib.do_stuff ();
}
}
MyLib.java:
import com.google.gson.JsonElement;
class MyLib
{
public static void do_stuff ()
{
System.out.println ("Hello.");
}
}
当我javac MyLib.java
时,我必须像这个一样做
javac -cp GSON_JAR_PATH MyLib.java
这是有效的,但如果我
javac MyMain.java
我得到
./MyLib.java:1: error: package com.google.gson does not exist
import com.google.gson.JsonElement;
但是如果我将-cp
添加到编译命令
javac -cp GSON_JAR_PATH MyMain.java
我得到
MyMain.java:5: error: cannot find symbol
MyLib.do_stuff ();
^
symbol: variable MyLib
location: class MyMain
使用"-cp path1:path2"-冒号分隔。(分号适用于windows((cp的参数被引用…
javac -cp path1:path2 //or ; for windows.
注意1-设置-cp
将覆盖任何现有的CLASSPATH环境或默认值路径设置。
注意2-如果没有CLASSPATH设置,则默认值为"."-直到-cp覆盖它。
因此,在发布的案例中,"."被设置为路径(CLASSPATH或默认路径(,直到使用了-cp来覆盖默认路径,所以它需要重新添加到中