2013-01-21 37 views
5

मैं 2 सर्वरों पर एक सेवा तैनात करना चाहता हूं। मैं एक सर्वर पर सफल रहा, लेकिन दूसरे पर असफल रहा। असल में, मैं अपने वातावरण को समान बनाने के लिए अपनी पूरी कोशिश करता हूं। त्रुटि लॉग निम्नानुसार है:java.lang.No.SuchFieldError: IS_SECURITY_ENABLED

2013-01-21 22:08:18.178:WARN:oejuc.AbstractLifeCycle:FAILED jsp: java.lang.NoSuchFieldError: IS_SECURITY_ENABLED 
java.lang.NoSuchFieldError: IS_SECURITY_ENABLED 
    at org.apache.jasper.compiler.JspRuntimeContext.<init>(JspRuntimeContext.java:197) 
    at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:150) 
    at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:492) 
    at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:312) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:776) 
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:258) 
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1213) 
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:699) 
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:36) 
    at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:183) 
    at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:491) 
    at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:138) 
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:142) 
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:53) 
    at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:604) 
    at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:535) 
    at org.eclipse.jetty.util.Scanner.scan(Scanner.java:398) 
    at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:332) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:118) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:552) 
    at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:227) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:58) 
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:53) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:91) 
    at org.eclipse.jetty.server.Server.doStart(Server.java:263) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1215) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1138) 
    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.eclipse.jetty.start.Main.invokeMain(Main.java:457) 
    at org.eclipse.jetty.start.Main.start(Main.java:602) 
    at org.eclipse.jetty.start.Main.main(Main.java:82) 

किसी भी प्रकार की सहायता के लिए धन्यवाद।

उत्तर

7
java.lang.NoSuchFieldError: IS_SECURITY_ENABLED 

यह जैस्पर जेएसपी कंपाइलर के आंतरिक वर्गों में से एक का हिस्सा है। यह त्रुटि बताती है कि आप (या मेवेन) के कुछ कारणों से जैस्पर जेएसपी कंपाइलर जेएआर फाइलों को वेबएप के /WEB-INF/lib फ़ोल्डर में शामिल किया गया है, जबकि उन जेएआर फाइलों को लक्षित कंटेनर (जो आपके मामले में जेटी है) द्वारा पहले से ही प्रदान किया जाना चाहिए।

इस तरह यह केवल तभी काम करेगा यदि आपके वेबपैप में की जैस्पर जेएआर फाइलें हैं लक्ष्य कंटेनर के समान संस्करण है। लेकिन, आखिरकार, यह सही दृष्टिकोण नहीं है। उन जैस्पर जेएआर फाइलें वेबपैप के /WEB-INF/lib में नहीं हैं। उन्हें लक्षित कंटेनर द्वारा पहले से ही माना जाता है। आपको वेबपैप के /WEB-INF/lib में उनसे छुटकारा पाना होगा।

मैं कोई मेवेन नायक नहीं हूं, लेकिन, इस बिंदु पर, आपको इसे पहनने की आवश्यकता है कि निर्मित वायर के /WEB-INF/lib फ़ोल्डर में जैस्पर जेएआर फाइलों को शामिल न करें। आप इसे dependency scope से provided पर सेट करके कर सकते हैं।

+0

हैलो @ बाल्लूसी, आपके उत्तर के लिए धन्यवाद। असल में, मैं पूरी परियोजना को सर्वर से कॉपी करता हूं जो आम तौर पर नए सर्वर पर चला जाता है, समस्या अभी भी नई पर मौजूद है। बीटीडब्ल्यू, 2 सर्वरों को एक ही जावा संस्करण मिलता है। [जावा संस्करण "1.6.0_25", जावा (टीएम) एसई रनटाइम पर्यावरण (1.6.0_25-बी06 का निर्माण), जावा हॉटस्पॉट (टीएम) 64-बिट सर्वर वीएम (बिल्ड 20.0-बी 11, मिश्रित मोड)] –

+0

उत्तर दिया गया, सफाई नकली जैस्पर जेएसपी कंपाइलर जेएआर फ़ाइल से छुटकारा पाने के लिए आपका रनटाइम क्लासपाथ। निर्मित WAR फ़ाइल के '/ WEB-INF/lib' फ़ोल्डर में देखें। इसमें कोई कंटेनर-विशिष्ट जेएआर फाइल नहीं होनी चाहिए। – BalusC

+0

धन्यवाद, समस्या हल हो गई। मैं जैस्पर से संबंधित जार हटा देता हूं। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^