1 回答

TA貢獻1824條經驗 獲得超6個贊
假設 1(錯誤):源類中沒有導入 → 必須添加導入
看起來你import在課堂上缺少陳述Main。嘗試這個:
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;
public class Main {
private static Logger logger = Logger.getLogger(Main.class);
public static void main(String[] args) {
BasicConfigurator.configure();
logger.info("in Main class");
}
}
真正的問題(在我修復帖子中的圖像顯示之后)
您正在運行編譯,而不是使用 maven buth 和 command-line javac。沒有 Maven,您就不會自動將依賴項添加到您的類路徑中。
如果你想從命令行運行
在這種情況下,您必須將 log4j 添加到類路徑中。它看起來像這樣(從 sources 目錄運行,這是<project_root>\src\main\java默認的 maven 布局:
javac company/Main.java -cp %userprofile%\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar
我假設您的本地 Maven 存儲庫位于默認的 Windows 路徑中%userprofile%\.m2。如果它在其他部分(或 Linux)中,則必須將路徑更改為您的log4j-1.2.17.jar.
在這種情況下,該類Main.class將被編譯到同一個包中Main.class。
如果你想用maven編譯
mvn compile只需從您所在的目錄運行即可pom.xml。請注意,maven 會將類編譯到target目錄中,即您編譯的類將在路徑中\target\classes\company\Main.class(相對于您的項目根目錄,您pom.xml所在的位置)。
添加回答
舉報