2013-04-02 3 views
0
in my program 

package com.XSLTTransformation; 

import java.io.IOException; 
import java.util.Collection; 
import java.util.HashMap; 
import java.util.HashSet; 
import java.util.Map; 

import org.apache.poi.openxml4j.exceptions.InvalidFormatException; 

import net.sf.jxls.exception.ParsePropertyException; 
import net.sf.jxls.transformer.XLSTransformer; 

public class XSLTTransformation { 
    public static void main(String[] args) { 
     Collection<Employee> staff = new HashSet<Employee>(); 
     staff.add(new Employee("Derek", 35, 3000, 0.30)); 
     staff.add(new Employee("Elsa", 28, 1500, 0.15)); 
     staff.add(new Employee("Oleg", 32, 2300, 0.25)); 
     staff.add(new Employee("Neil", 34, 2500, 0.00)); 
     staff.add(new Employee("Maria", 34, 1700, 0.15)); 
     staff.add(new Employee("John", 35, 2800, 0.20)); 
     Map<String, Collection<Employee>> beans = new HashMap<String, Collection<Employee>>(); 
     beans.put("employee", staff); 
     XLSTransformer transformer = new XLSTransformer(); 
     try { 
      transformer.transformXLS("C:/Users/hussain.a/Desktop/malay/newprojectpocdetails/temp.xls", beans, "C:/Users/hussain.a/Desktop/malay/newprojectpocdetails/proovNYOutput.xls"); 
     } catch (ParsePropertyException e) 
     { 
      e.printStackTrace(); 
     } catch (InvalidFormatException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

} 

я найти эту ошибкуКласс не найден исключение, хотя баночка присутствует

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/jexl2/parser/Node 
    at net.sf.jxls.transformer.XLSTransformer.transformWorkbook(XLSTransformer.java:269) 
    at net.sf.jxls.transformer.XLSTransformer.transformXLS(XLSTransformer.java:221) 
    at net.sf.jxls.transformer.XLSTransformer.transformXLS(XLSTransformer.java:201) 
    at com.XSLTTransformation.XSLTTransformation.main(XSLTTransformation.java:27) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.jexl2.parser.Node 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 

я поставил банку, который имеет этот класс, я не в состоянии определить реальную Prob

+0

Какой IDE вы используете? – javadev

+0

Определенно пропущенная библиотека в пути к классам. Просто проверьте его на большее время или попросите кого-нибудь еще взглянуть на внешний вид :) – udalmik

+0

В зависимости от вашей IDE вам также может понадобиться добавить банку к артефакту развертывания. Какой идеал вы используете? – zmanc

ответ

2

Добавить commons-jexl.jar к CLASSPATH;

Попробуйте эту ссылку: https://stackoverflow.com/a/8286795/1743852

+0

после этой проблемы, я теперь использую этот jar, org.apache.commons.digester.Digester, хотя я добавляю его в путь класса и вижу jar и класс в ресурсах проекта, но я нахожу эту ошибку, что это class не найден –

+0

попробуйте поместить их в папку 'ext' в папке' lib' в 'java', и если вы можете опубликовать исключение, которое я могу выполнить с вами, перед этим я столкнулся с этой проблемой, и я нашел решение в выше ссылки, поэтому отправьте мне сообщение об ошибке, и я попробую помочь вам –

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