2016-07-28 3 views
1

Я использую Gradle проект log4j2 ... и я получаю следующее сообщение об ошибке при создании csvlayout: Exception в потоке "основной" java.lang.NoClassDefFoundError: орг/апач/Обще/CSV/CSVFormatИсключение в потоке «главный» java.lang.NoClassDefFoundError: орг/апач/Обще/CSV/CSVFormat

CsvParameterLayoutExample класс

package log4j_tutorial; 
import org.apache.logging.log4j.LogManager; 

import org.apache.logging.log4j.Logger; 

public class CsvParameterLayoutExample { 

private static final Logger logger = LogManager.getLogger(); 

public static void main(String[] args) { 
    int val1 = 10, val2 = 11, val3 = 12; 
    logger.trace("Trace Message!", val1, val2, val3); 
    logger.debug("Debug Message!", val1, val2, val3); 
    logger.info("Info Message!", val1, val2, val3); 
    logger.warn("Warn Message!", val1, val2, val3); 
    logger.error("Error Message!", val1, val2, val3); 
    logger.fatal("Fatal Message!", val1, val2, val3); 
} 

}

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="warn" xmlns="http://logging.apache.org/log4j/2.0/config" packages="log4j_tutorial"> 
<Appenders> 
<File name="my_file_appender" fileName="C:/Users/bishal.gupta/Desktop/Testing/CsvLog4jTest/application.log"> 
<CsvParameterLayout delimiter=","/> 
</File> 
</Appenders> 

<Loggers> 
    <Root level="info"> 
     <AppenderRef ref="my_file_appender" /> 
    </Root> 
</Loggers> 
</Configuration> 

build.gradle зависимостей

Исключение:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/csv/CSVFormat 
at java.lang.Class.getDeclaredMethods0(Native Method) 
at java.lang.Class.privateGetDeclaredMethods(Class.java:2442) 
at java.lang.Class.getDeclaredMethods(Class.java:1808) 
at  org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.createBuilder(PluginBuilder.java:149) 
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:119) 
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:888) 
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:828) 
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:820) 
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:820) 
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:449) 
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:197) 
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:209) 
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:492) 
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:562) 
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:578) 
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:214) 
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:145) 
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:41) 
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:182) 
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:455) 
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:441) 
at log4j_tutorial.CsvParameterLayoutExample.<clinit>(CsvParameterLayoutExample.java:7) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.csv.CSVFormat 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
... 22 more 

я застрял с утра ... :(

ответ

2

вы должны добавить commons-c sv как зависимость.

Если вы используете Gradle, как ваш вопрос помечено, добавить эти строки:

// https://mvnrepository.com/artifact/org.apache.commons/commons-csv 
compile group: 'org.apache.commons', name: 'commons-csv', version: '1.4' 
+0

Thnx для быстрого ответа ... я попытался это в Gradle, но не знаю, почему Gradle не загружая эту банку ... :(так что я добавил внешне. .. можете ли вы сказать мне, что град не загружается –

+0

@BishalGupta любое сообщение об ошибке при загрузке? – Jens

+0

нет, я не получаю сообщение об ошибке –

0

build.gradle не смог загрузить банку я уже упоминал:

build.gradle: «компилировать«орг .apache.commons: Обще-CSV: 1,1"

Так я скачать Викисклад CSV баночку из-под ссылку и добавил наружно в проект

commons-csv.jar

двоичные файлы: commons-csv-1.4-bin.zip

Смежные вопросы