मैं एक साधारण ऐप बनाया जो स्प्रिंग डेटा 3.1.0 का उपयोग करता है। RELEASE और सर्वर पक्ष पर Eclipselink 2.4 - जो कि टॉमकैट 7.0.27 में होस्ट किया गया है। mywebapp/META-INF/context.xml में मैं वसंत classloader हैएमओटीए-आईएनएफ/context.xml में एमओटीए-आईएनएफ/संदर्भ.एक्सएमएल में परिभाषित टोमकैट इंस्ट्रूमेंट क्लासलोडर के साथ टोमकैट काम कैसे करें, वेब-आईएनएफ/lib/spring-instrument-tomcat.jar
<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
अगर मैं $TOMCAT_HOME/lib
में spring-instrument-tomcat.jar
डाल तो बिलाव mywebapp अच्छी तरह से चलता है, लेकिन अगर मैं $TOMCAT_HOME/webapps/mywebapp/WEB-INF/lib
में spring-instrument-tomcat.jar
डाल - बिलाव अपवाद के साथ मर जाता है
java.lang.IllegalStateException: ClassLoader [org.apache.catalina.loader.WebappClassLoader] does NOT provide an 'addTransformer(ClassFileTransformer)' method. Specify a custom LoadTimeWeaver or start your Java virtual machine with Spring's agent: -javaagent:org.springframework.instrument.jar
संदर्भ लोडर पैरामीटर useSystemClassLoaderAsParent
false
पर सेट या तो मदद नहीं करता है।
मैं टोमकैट में कोई भी (कस्टम) वैश्विक lib नहीं चाहता (और हमारे वास्तविक जीवन उत्पादन प्रणाली में वैश्विक होना आसान नहीं होगा) इस प्रकार मैं सभी आवश्यकतानुसार स्थानीयकरण करने की कोशिश कर रहा हूं सरल (अभी तक बड़ी) युद्ध फ़ाइल में सामान। इस तरह के encapsulation कैसे प्राप्त करने के बारे में कोई विचार?
मुझे आपके उत्तर को सही कारण के रूप में देखना है क्योंकि यह अब तक का सबसे अच्छा समाधान है। धन्यवाद! –