ubuntu在终端中编译Java程序导致日志错误
我试图在终端中编译一个Java程序:
包含所有导入的长版本:
javac -classpath bin:$OSPL_HOME/jar/dcpssaj5.jar:$OSPL_HOME/jar/dcpssaj5-sources.jar:$OSPL_HOME/jar/dcpssaj-osgi-bundle.jar:$OSPL_HOME/jar/dcpssaj-sources.jar:$OSPL_HOME/jar/dcpssaj.jar:$OSPL_HOME/jar/osplconf.jar:$OSPL_HOME/jar/tooling_common.jar:$OSPL_HOME/jar/dcpsprotobuf.jar:$OSPL_HOME/jar/cmdataadapter.jar:$OSPL_HOME/jar/cmapi.jar:$OSPL_HOME/jar/ddsface.jar:Libraries/httpclient-4.5.12.jar:Libraries/jersey-client-1.19.4.jar:Libraries/jersey-client-1.19.jar:Libraries/jersey-core-1.19.4.jar:Libraries/json-simple-1.1.1.jar:Libraries/json-simple-3.1.0.jar:Libraries/jsr311-api-1.1.1.jar:Libraries/mqtt-client-0.0.6.jar:Libraries/paho-mqtt-client-1.13.0.jar -sourcepath src/ src/afarcloud/Main/afarcloud_main.java
如果没有所有的进口:
javac -classpath bin:(jar_files) -sourcepath src/ src/afarcloud/Main/afarcloud_main.java
我已经添加了我认为所有必要的JAR,但是当我试图在我的Ubuntu计算机上运行代码时,我遇到了与记录器相关的以下错误:
src/afarcloud/Log/UtilLog.java:3: error: package org.apache.log4j does not exist
import org.apache.log4j.Logger;
^
src/afarcloud/Log/UtilLog.java:7: error: cannot find symbol
private static Logger log = Logger.getLogger(UtilLog.class);
^
symbol: class Logger
location: class UtilLog
src/afarcloud/Log/UtilLog.java:7: error: cannot find symbol
private static Logger log = Logger.getLogger(UtilLog.class);
^
symbol: variable Logger
location: class UtilLog
src/afarcloud/Log/UtilLog.java:10: error: cannot find symbol
log = Logger.getLogger(clase);
^
symbol: variable Logger
location: class UtilLog
4 errors
让我困惑的是,src/afarcloud下没有名为“Log”的文件夹,所以我很困惑如何继续。。。非常感谢您的帮助
# 1 楼答案
您缺少对org的JAR依赖。阿帕奇。log4j
当然,这个JAR还可以有更多的依赖项。这可能是一场没完没了的游戏。也许您可以使用Maven和mavenized项目,它将为您处理依赖关系树
# 2 楼答案
不要单独提到一个目录的jar文件,而是应该使用通配符
*
来指定该目录的所有jar,例如在哪里
-d bin
指定将编译的类放在哪里的目录李>-cp
或-classpath
的{:
指定分隔符以使用类路径中的多个位置李>$OSPL_HOME/jar/*
指定目录$OSPL_HOME/jar
中的所有文件。或者,可以使用$OSPL_HOME/jar/*.jar
只指定jar文件李>注意:确保在命令中指定
apache-logging-log4j.jar
的位置,因为错误表明您没有包含这个jar# 3 楼答案
看起来您缺少导入语句。总之,无法找到所有记录器对象,也无法创建任何新实例
尝试使用
import org.apache.log4j.Logger;
或通过CLI导入https://logging.apache.org/log4j/2.x/download.html