javac添加类路径破坏了我的本地类编译



当我将一个包导入到我的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来覆盖默认路径,所以它需要重新添加到中

相关内容

  • 没有找到相关文章

最新更新