gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 18:23:50 25 4
gpt4 key购买 nike

当我将包导入到我的 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 覆盖该默认值 - 因此需要将其添加回。

关于javac 添加类路径破坏了我的本地类编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60263246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com