我刚刚被推上了java。
对于现有的jar文件log4j.jar(http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip),我把它放在./lib子文件夹下,我的java源文件MyDemo.java在./jms/example文件夹下,我使用jms.example作为包名称并导入我的java文件中的log4j类:
package jms.example;
import org.apache.log4j.*;
当我使用以下命令编译时,我收到错误:
c:\JDK\bin\javac.exe -cp '.;.\lib\log4j.jar' -d .\classes -g .\jms\example\MyDemo.java
错误:找不到符号 私人最终记录器记录器;
上述代码有什么问题?
另外,我想知道: *包名是否与文件路径相关?例如,我将我的java文件放在jms / example下,这是我必须将包命名为jms.example的原因吗?
当我提取第三方提供的其他jar文件时,类文件的路径是jms / example,第三方示例代码使用jms.example作为包名,并且它与类路径jms / example一致,他们必须保持一致吗?
答案 0 :(得分:1)
路径不能用引号括起来;也就是说,它在命令中是错误的:
-cp '.;.\lib\log4j.jar'
应该是:
-cp .;.\lib\log4j.jar
答案 1 :(得分:0)
关于这个问题:
包名是否与文件路径相关?例如,我把我的java文件放在jms / example下,这是我必须将包命名为jms.example的原因吗?
不,您可以使用任何包名称,例如:
package yyyyjmsxxx.zzzzexamplexxx;