2012-11-23 4 views
2
import org.owasp.esapi.*; 

public class esapiTest 
{ 
public static void main(String args[]) 
{ 
test(); 
} 
public static void test() 
{ 
String clean = ESAPI.encoder().canonicalize("someString"); 
Randomizer r=ESAPI.randomizer();  
System.out.println(r); 
System.out.println("....................."); 
System.out.println(clean); 
} 
} 

런타임에 이러한 오류가 발생하는 이유는 무엇입니까? ESAPI-2.0.1.jar을 사용하고 있습니다. 서버에서 실행하려고하지 않습니다. Eclipse에서 테스트 해보십시오. 그것들은 내 빌드 경로와 Referenced Libraries에 있습니다. 어떤 도움이라도 좋을 것입니다. 감사.스레드 "main"의 예외 org.owasp.esapi.errors.ConfigurationException :

Attempting to load ESAPI.properties via file I/O. 
Attempting to load ESAPI.properties as resource file via file I/O. 
Found in 'org.owasp.esapi.resources' directory: C:\resources\ESAPI.properties 
Loaded 'ESAPI.properties' properties file 
Attempting to load validation.properties via file I/O. 
Attempting to load validation.properties as resource file via file I/O. 
Found in 'org.owasp.esapi.resources' directory: C:\resources\validation.properties 
Loaded 'validation.properties' properties file 
Exception in thread "main" org.owasp.esapi.errors.ConfigurationException: java.lang.reflect.InvocationTargetException Encoder class (org.owasp.esapi.reference.DefaultEncoder) CTOR threw exception. 
    at org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:129) 
    at org.owasp.esapi.ESAPI.encoder(ESAPI.java:99) 
    at esapiTest.test(esapiTest.java:12) 
    at esapiTest.main(esapiTest.java:7) 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:86) 
    ... 3 more 
Caused by: org.owasp.esapi.errors.ConfigurationException: java.lang.reflect.InvocationTargetException LogFactory class (org.owasp.esapi.reference.Log4JLogFactory) CTOR threw exception. 
    at org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:129) 
    at org.owasp.esapi.ESAPI.logFactory(ESAPI.java:137) 
    at org.owasp.esapi.ESAPI.getLogger(ESAPI.java:154) 
    at org.owasp.esapi.reference.DefaultEncoder.<init>(DefaultEncoder.java:75) 
    at org.owasp.esapi.reference.DefaultEncoder.getInstance(DefaultEncoder.java:59) 
    ... 8 more 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:86) 
    ... 12 more 
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/spi/LoggerFactory 
    at org.owasp.esapi.reference.Log4JLogFactory.<init>(Log4JLogFactory.java:62) 
    at org.owasp.esapi.reference.Log4JLogFactory.getInstance(Log4JLogFactory.java:68) 
    ... 17 more 

무엇을 해야할지 잘 모릅니다.

답변

2

당신이이 문제에 log4j.jar (org.apache.log4j)를 찾는

+0

내가 log4j를-1.2.17하는 – user1848317

+0

그리고 이것은 단지 당신의 클래스 경로에 런타임시를 그 병을 가지고있는 것 같다? – AlexWien

+0

O_o ​​- 아니, 나는 그렇게 생각하지 않아 =) 감사합니다 – user1848317

관련 문제