2010-04-14 7 views
15

नहीं चल सकता मैं एक Maven webapp परियोजना है कि मैं 'सर्वर पर चलाने के लिए' राइट क्लिक करने के लिए सक्षम और था ग्रहण है और यह बिल्ला पर तैनात हैं। मैंने हाल ही में एक 'मेवेन -> अपडेट प्रोजेक्ट कॉन्फिगरेशन' किया है और अब मैं प्रोजेक्ट को वेबपैप के रूप में तैनात नहीं कर सकता हूं। क्या किसी ने इसे पहले कभी देखा है? टोमकैट का एकमात्र आउटपुट निम्नानुसार है - यह एप्लिकेशन को तैनात करने की कोशिश की तरह दिखता नहीं है।ग्रहण Maven वेब अनुप्रयोग - सर्वर पर अब और

Apr 14, 2010 3:58:54 PM org.apache.catalina.core.AprLifecycleListener init 
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java 
Apr 14, 2010 3:58:54 PM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:taac-web' did not find a matching property. 
Apr 14, 2010 3:58:54 PM org.apache.coyote.http11.Http11Protocol init 
INFO: Initializing Coyote HTTP/1.1 on http-8080 
Apr 14, 2010 3:58:54 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 402 ms 
Apr 14, 2010 3:58:54 PM org.apache.catalina.core.StandardService start 
INFO: Starting service Catalina 
Apr 14, 2010 3:58:54 PM org.apache.catalina.core.StandardEngine start 
INFO: Starting Servlet Engine: Apache Tomcat/6.0.24 
Apr 14, 2010 3:58:54 PM org.apache.coyote.http11.Http11Protocol start 
INFO: Starting Coyote HTTP/1.1 on http-8080 
Apr 14, 2010 3:58:54 PM org.apache.jk.common.ChannelSocket init 
INFO: JK: ajp13 listening on /0.0.0.0:8009 
Apr 14, 2010 3:58:54 PM org.apache.jk.server.JkMain start 
INFO: Jk running ID=0 time=0/14 config=null 
Apr 14, 2010 3:58:54 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 247 ms 

पोम अभी भी युद्ध करने के लिए सेट कर दिया जाता है, लेकिन परियोजना मैं अब पुस्तकालयों के लिए ClassNotFoundExceptions हो रही है कि Maven निर्भरता के रूप में शामिल किया जा रहा है की सफाई के बाद:

SEVERE: Error configuring application listener of class org.springframework.security.web.session.HttpSessionEventPublisher 
java.lang.ClassNotFoundException: org.springframework.security.web.session.HttpSessionEventPublisher 

यहाँ मेरी पोम है:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.cable.wuntee.neto.nse</groupId> 
    <artifactId>taac-web</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>taac-web JEE5 Webapp</name> 
    <url>http://maven.apache.org</url> 
    <dependencies> 

    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>javax.servlet.jsp</groupId> 
     <artifactId>jsp-api</artifactId> 
     <version>2.1</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context-support</artifactId> 
     <version>3.0.1.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.freemarker</groupId> 
     <artifactId>freemarker</artifactId> 
     <version>2.3.16</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-web</artifactId> 
     <version>3.0.2.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-acl</artifactId> 
     <version>3.0.2.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-config</artifactId> 
     <version>3.0.2.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-core</artifactId> 
     <version>3.0.2.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>cglib</groupId> 
     <artifactId>cglib</artifactId> 
     <version>2.2</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.ldap</groupId> 
     <artifactId>spring-ldap-core</artifactId> 
     <version>1.3.0.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.ldap</groupId> 
     <artifactId>spring-ldap</artifactId> 
     <version>1.3.0.RELEASE</version> 
     <type>pom</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-ldap</artifactId> 
     <version>3.0.2.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.cable.wuntee.neto.nse</groupId> 
     <artifactId>wuntee.neto.nse-ldap</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.cable.wuntee.neto.nse</groupId> 
     <artifactId>wuntee.neto.nse-cada</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 

    <dependency> 
     <groupId>com.cable.wuntee.neto.nse</groupId> 
     <artifactId>wuntee.neto.nse-sams</artifactId> 
     <version>2.0-SNAPSHOT</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>3.0.1.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>3.0.1.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.15</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    </dependencies> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.0.2</version> 
     <configuration> 
      <source>1.5</source> 
      <target>1.5</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    <finalName>taac-web</finalName> 
    </build> 
</project> 

उत्तर

2

शायद तुमसे <packaging> बदलदुर्घटना प्रति और कुछ और करने के लिए। क्या आप अपना पीओएम दिखा सकते हैं?

आप भी पुष्टि कर सकते हैं कि आप डब्ल्यूटीपी स्थापित के लिए Maven डब्ल्यूटीपी एकता (यह असंभव है, लेकिन हो सकता है आप इस अतिरिक्त बिना M2Eclipse का नवीनतम संस्करण स्थापित और किसी भी तरह, चीजें जब तक आप परियोजना विन्यास अद्यतन काम कर रहे थे)? इनमें से

+0

हां, मेवेन डब्ल्यूटीपी स्थापित है - बस अनइंस्टॉल करने और पुनः इंस्टॉल करने की कोशिश की गई (कोई मदद नहीं)। और, हाँ, यह प्रोजेक्ट कॉन्फ़िगरेशन अपडेट करने से पहले काम कर रहा था ... – wuntee

+0

के बाद भी निम्न त्रुटि/पोम देखें - अगर मैं प्रोजेक्ट को पैकेज करता हूं, तो यह सभी की प्रतिलिपि बनाता है।वेब-आईएनएफ/libs निर्देशिका में जार फ़ाइलें; अगर मैं उन्हें ग्रहण प्रोजेक्ट में मैन्युअल रूप से रखता हूं तो यह ठीक चलता है ... सुनिश्चित नहीं है कि क्यों डब्ल्यूटीपी ग्रहण में प्रबंधन नहीं कर रहा है ... – wuntee

+0

@wuntee आपने "परियोजना कॉन्फ़िगरेशन अपडेट करने" से पहले क्या बदल दिया था। क्या आपने कुछ संस्करण बदल दिए? –

1

कोई भी मदद की - मैं समाप्त हो गया बस कार्यक्षेत्र संकल्प अक्षम करने, और कार्यक्षेत्र dependancies जब वे पुराने हो चुके थे स्थापित करने के साथ काम कर।

2

मुझे लगता है कि अजीब संकलन त्रुटियों आप युद्ध परियोजना पर था। किसी कारण से क्लासपाथ किसी भी तरह बदला गया था और यह मेरे कार्यक्षेत्र में अन्य परियोजनाओं को नजरअंदाज कर दिया गया था, जिस पर युद्ध निर्भर था।

एकमात्र समाधान है जो अंत में काम किया मेरी कार्यक्षेत्र को मिटाने के लिए था, और प्रत्येक परियोजना पर .classpath, .project और .settings को हटा दें। एक नए कार्यक्षेत्र से शुरू करने से हल हो गया।

मुझे bug मिला है जो मैवेन डब्ल्यूटीपी बग ट्रैकर में इसी तरह का कुछ उल्लेख करता है, लेकिन मुझे अनुमान लगाने के लिए पर्याप्त वोट नहीं मिला।

4

तीन संभव समाधान। मैंने तीनों का उपयोग इस बात के आधार पर किया है कि यह गलत कैसे हुआ।

  1. मैं अपने पोम से वसंत सुरक्षा निर्भरता निकाल कर इस का समाधान (मैं केवल वसंत-सुरक्षा-taglibs और वसंत-सुरक्षा-config जो किसी और मैं की जरूरत है सब कुछ में खींच है), पोम बचाया, Maven करते हैं यह सामान है और फिर उन्हें फिर से जोड़ा गया है, मैवेन को फिर से निर्भरता प्राप्त करने दें और ग्रहण में सर्वर को पुनरारंभ करें। जब समस्या हो रही है, ग्रहण प्रोजेक्ट में मेवेन निर्भरता निर्देशिका वसंत-सुरक्षा-वेब आर्टिफैक्ट (जिसमें org.springframework.security.web.session.HttpSessionEventPublisher) रखती है। मेरे लिए, यह तब होता है जब मैं अपने पीसी को रिबूट करने के बाद एक्लिप्स शुरू करता हूं, इसलिए मुझे लगता है कि यह विंडोज़ (Vista) और ग्रहण एम 2 एक्लिप्स प्लगइन फ़ाइल लॉकिंग या कुछ पर अच्छी तरह से खेल नहीं रहा है।

  2. वैकल्पिक समाधान (समस्या फिर से हुआ है और पिछले समाधान काम नहीं होगा)। इस बार, मैंने अपने स्थानीय मैवेन रिपोजिटरी से ऑर्ग/स्प्रिंगफ्रेमवर्क निर्देशिका हटा दी है (ग्रहण विंडो में से एक-> प्राथमिकताएं-> मैवेन-> उपयोगकर्ता सेटिंग्स)। फिर, मेवेन निर्भरताओं को अपडेट करें और यहां पर हम फिर से जाएं।

  3. यदि आपने "मेवेन-> अद्यतन परियोजना कॉन्फ़िगरेशन" किया है और ऐसा होता है तो ऐसा इसलिए हो सकता है क्योंकि आपकी "परिनियोजन असेंबली" सेटिंग्स में मेवेन निर्भरताएं शामिल नहीं हैं। प्रोजेक्ट-> गुण-> परिनियोजन असेंबली पर जाएं। जांचें कि मेवेन निर्भरता वहां है और/WEB-INF/lib का एक तैनाती पथ है। यदि नहीं, तो जावा बिल्ड पथ विकल्प के तहत जोड़ें पर क्लिक करें और इसे ढूंढें। यदि यह वहां नहीं है, तो आपका निर्माण पथ शायद दूषित भी हो सकता है (हालांकि यह मेरे साथ कभी नहीं हुआ)।

0

वैकल्पिक समाधान (समस्या फिर से हुई और पिछले समाधान काम नहीं करेंगे)।

इस बार, मैं अपने स्थानीय Maven भंडार (ग्रहण विंडो> वरीयताएँ-> Maven-> उपयोगकर्ता सेटिंग में से एक) से org/springframework निर्देशिका नष्ट कर दिया। फिर, मेवेन निर्भरताओं को अपडेट करें और यहां पर हम फिर से जाएं।

2

प्रोजेक्ट गुणों के तहत, "पहलुओं" पर जाएं, कुछ चीज़ों में कनवर्ट करें, गतिशील वेब मॉड्यूल सक्षम करें और लागू करें दबाएं।

15

मैं

Tomcat & Spring Web - Class Not Found Exception org.springframework.web.context.ContextLoaderListener

आप सर्वर से Maven निर्भरता पुश करने के लिए जब परियोजना इसे करने के लिए प्रकाशित किया जाता है की जरूरत है पर इस सवाल का जवाब मिल गया।

प्रोजेक्ट एक्सप्लोरर में अपनी वेब प्रोजेक्ट पर राइट क्लिक करें -> 'Properties' चुनें। परियोजना गुणों के तहत, 'परिनियोजन असेंबली' का चयन करें।

परिनियोजन असेंबली प्रॉपर्टी पेज उस सामग्री को दिखाता है जो सर्वर पर एक्लिप्स द्वारा एकत्रित आर्टिफैक्ट के रूप में प्रकाशित किया जाएगा। आपको ग्रहण को बताने की जरूरत है कि आप अपनी सभी मेवेन निर्भरताओं को भी प्रकाशित करना चाहते हैं।

ऐसा करने के लिए, 'जोड़ें' बटन पर क्लिक करें, फिर 'जावा बिल्ड पथ प्रविष्टियां' चुनें। अगला क्लिक करें और मेवेन निर्भरता का चयन करें। जब ग्रहण WST सर्वर से अपनी परियोजना को प्रकाशित करता है

+0

ओह भगवान धन्यवाद! तुमने मुझे घंटे बचा लिया! – ianaz

0

मैं आज एक ही समस्या थी, मेरे लिए यह अपाचे ग्रहण में एक पुनर्निर्माण/परियोजना बाद में ताज़ा

0
पुनर्स्थापित करने के लिए मदद करता है यह lib फ़ोल्डर में Maven निर्भरता जार फ़ाइलों प्रकाशित करेंगे

ठीक है, मैंने इसके साथ भी थोड़ा संघर्ष किया है। मुझे नहीं लगता कि वहां एक निश्चित उत्तर है और थोड़ी देर के लिए मैं सिर्फ परियोजना को हटा दूंगा और इसे फिर से आयात करूँगा क्योंकि यह हर बार काम करेगा।

आज मैंने पाया कि परियोजना पर एक स्वर्ग साफ करने के बाद यह फिर से काम करना शुरू कर दिया (उदाहरण के लिए कमांड लाइन से एमवीएन साफ)। यह देखने का प्रयास करें कि यह आपके लिए काम करेगा या नहीं।

यह ग्रहण के बराबर नहीं है क्योंकि यह केवल लक्ष्य निर्देशिका से चयनित कुछ फ़ोल्डरों को हटा देता है, पूरी बात नहीं।

0

मैं हर बार इस मुद्दे आई है त्वरित सुधार कर रहे हैं:

  • राइट क्लिक करें परियोजना -> Maven -> अद्यतन परियोजना ...
  • ग्रहण सर्वर टैब: सर्वर बंद करो, राइट क्लिक करें बिलाव v # -> स्वच्छ ... -> ठीक

यहाँ समस्या निवारण चरणों मैं देखना क्या ग्रहण है वास्तव में की तैनाती जब यह बिल्ला चलाता है का उपयोग कर रहे हैं। यह मंगल और नियॉन के रूप में वर्तमान है।(इन चरणों का मान आप अपने प्रोजेक्ट चलाने के लिए कम से कम एक बार का उपयोग कर "सर्वर पर चलाने के लिए ...")

  1. बिल्ला पर अपनी परियोजना को चलाने के लिए सेटिंग्स पर जाएं:
    राइट क्लिक करें परियोजना -> के रूप में चलाने के लिए ->-Dwtp.deploy के मूल्य के लिए Run As Server Settings Arguments tab with -Dwtp.deploy देखो: भागो विन्यास ...
  2. तर्क टैब पर जाएँ और वीएम बहस में देखें, तो आप कुछ इस तरह देखेंगे। मेरे लिए यह था

D:\code\workspaceNeon\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

  1. निर्देशिका मानक webapp तैनाती संरचना शामिल है। उस निर्देशिका को अपने ओएस फाइल एक्सप्लोरर में खोलें और सामग्री की जांच करें। जब मैं अपने WEB-INF/lib में देखा, मैं अपने निर्भरता के सबसे देखा
  2. अनदेखा कर रहे थे कि निर्देशिका जब आप समाप्त कर से बाहर निकलने के लिए सुनिश्चित करें, अन्यथा संशोधित करने के लिए कोशिश कर रहा त्रुटियां मिलेंगी ग्रहण/यह

अद्यतन अब यह है समस्या को ठीक करने के लिए समय। चलो देखते हैं है क्या ग्रहण चाहिए की तैनाती की जानी चाहिए:

  1. ओपन अपनी परियोजना के लिए तैनाती विधानसभा सेटिंग्स:

    राइट क्लिक करें परियोजना -> गुण -> तैनाती विधानसभा Deployment Assembly with Maven Dependencies

    1. मैवेन निर्भरता उपरोक्त महत्वपूर्ण वस्तु है। इस तो याद आ रही है, करीब संवाद से बाहर है और एक Maven अद्यतन कार्य करें: राइट क्लिक करें परियोजना -> Maven -> अद्यतन परियोजना ...

    2. अब जब हमने अपडेट करने के बाद, चलो काम कर सर्वर को साफ करते हैं निर्देशिका मैन्युअल रूप से और पुन: प्रकाशित करें। यह हमेशा जरूरी नहीं हो सकता है लेकिन एक अच्छा तरीका है सुनिश्चित करने के लिए सब कुछ क्या तैनाती विधानसभा में दिखाया गया है और क्या वास्तव में तैनात किया जाता है के बीच सिंक में है:

      • ग्रहण में सर्वर टैब पर जाएं। यदि आप इसे अपने वर्तमान ग्रहण लेआउट में नहीं देखते हैं, तो विंडो मेनू -> दृश्य दिखाएं -> अन्य .. -> "सर्वर" के लिए खोजें Eclipse servers tab
      • राइट क्लिक करें टॉमकैट बनाम # ... और "क्लीन" चुनें ... "। पुष्टिकरण संवाद में ठीक क्लिक करें Eclipse server clean confirm dialog
      • राइट क्लिक करें बिलाव v # ... और चुनें "प्रकाशित करें"
      • सर्वर और परीक्षण शुरू करो। अभी भी समस्या है, तो wtp.deploy निर्देशिका के लिए वापस जाओ और गलत

गुड लक क्या देखने के लिए निरीक्षण किया!

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