如何在使用外部依赖项时从命令行运行代码

时间:2017-02-08 02:24:15

标签: java eclipse maven

我是maven的新手,我正在尝试学习使用外部依赖。所以,我习惯使用Log4j库并将jar文件放在/ src / lib文件夹中(使用eclipse)enter image description here

我可以运行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"。

0 个答案:

没有答案