我是maven的新手,我正在尝试学习使用外部依赖。所以,我习惯使用Log4j库并将jar文件放在/ src / lib文件夹中(使用eclipse)
我可以运行eclipse中的代码(它只是要求初始化log4j属性文件)我试图在命令行上运行。所以,我做了" mvn clean install"在项目文件夹中然后转到目标/类并尝试运行命令" java com.siddhant.samplemavenproject1.App),它在线程" main"中给出了一个错误异常。 java.lang.NoClassDefFoundError:
org/apache/log4j/Logger
at com.siddhant.samplemavenproject1.App.main(App.java:14)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
App.java文件就像:
package com.siddhant.samplemavenproject1;
import org.apache.log4j.Logger;
public class App
{
public static void main( String[] args )
{ Logger logger = Logger.getLogger(App.class.getSimpleName());
System.out.println( "Hello World!" );
//Util.printMessage("This is my sample message");
logger.info("This is logger message");
}
}
PS:我还使用命令" mvn install:install-file -Dfile = / Users / siddhantjawa / Documents / testworkspace / samplemavenproject1 / src / lib / log4j.jar -DgroupId =在本地存储库中安装了外部库com.siddhant -DartifactId = log4j -Dversion = 0.0.1-SNAPSHOT -Dpackaging = jar"。