2009-05-11 7 views
12

मैं ग्रहण में काम कर रहे जीडब्ल्यूटी होस्टेड मोड को प्राप्त करने की कोशिश कर रहा हूं, à la this HOWTO। Servlets, ठीक से काम के रूप में मेरे GWT कोड करता है, लेकिन मेरे सारे JSPs क्योंकि जैसे कि निम्न त्रुटियों के साथ असफल:जीडब्ल्यूटी/ग्रहण/जेट्टी मुद्दा: जैस्पर टैग पुस्तकालयों को हल नहीं कर सकता

[WARN] /view/lniExecutiveSummary.htm 
org.apache.jasper.JasperException: /WEB-INF/jsp/lni/lniExecutiveSummary.jsp(1,1) The absolute uri: http://java.sun.com/jsp/jstl/fmt cannot be resolved in either web.xml or the jar files deployed with this application 
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39) 
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409) 
    [ trimmed ] 

इस webapp ठीक काम करता है जब बिलाव 5x के तहत तैनात; ग्रहण में चलते समय मुझे टैगलिब्स को हल करने के लिए यह प्रतीत नहीं होता है। मैं ग्रहण करने के लिए नया हूं, और जीडब्ल्यूटी + मेवेन के लिए आवश्यक सभी चलती भागों के साथ काम कर रहा हूं, मैंने अपने बालों को खींच लिया है।

अद्यतन: अब मैं ग्रहण का उपयोग नहीं कर रहा हूं; मैंने इंटेलिज आईडीईए को (बैक!) स्विच कर दिया है। इसलिए मैं आपके द्वारा चुने गए उत्तरों के ईमानदारी से मूल्यांकन नहीं कर सकता। एक बार कुछ वोटिंग कार्रवाई होती है, या कोई और इन तरीकों में से किसी एक के साथ सफलता की रिपोर्ट करता है, तो मैं उचित उत्तर स्वीकार करूंगा। धन्यवाद।

+1

विश्वास करना मुश्किल है कि लगभग 7 साल बाद, यह अभी भी एक मुद्दा है। जेएसटीएल यूआरआई को सामान्य रूप से हल करने की समस्या के लिए बहुत सारे SO जवाब हैं, लेकिन विशेष रूप से जीडब्ल्यूटी और जेटी के लिए कोई समाधान नहीं है, जो कहीं भी गहरे, अंधेरे और बहुत स्पष्ट नहीं हैं, पुराने जेएसटीएल पर अजीब निर्भरता है जो नए आयात करने के किसी भी प्रयास को गड़बड़ कर देता है जेएसटीएल निर्भरताएं। (उदाहरण के लिए, जीडब्ल्यूटी को टोमकैट पर तैनात किया गया है, उदाहरण के लिए, यह सब काम करता है।) इस चरण में मेरी सबसे अच्छी उम्मीद यह है कि @ बालुससी जैसे कोई भी जीडब्ल्यूटी (अगर वह पहले से नहीं है) शुरू कर देगा और आखिरकार इस समस्या के लिए एक फिक्स पोस्ट करेगा। :- पी –

उत्तर

1

क्या आपने अपनी जावा प्रोजेक्ट में "jsf-api.jar" को "निर्यात" के रूप में चिह्नित करने का प्रयास किया था?
(this thread में उल्लिखित)

1.) जावा परियोजना गुण में जाएँ और "jsf-api.jar" निशान के रूप में निर्यात। (project>properties>java build path>order and exports)
2.) उन्नत वैश्विक बिल्ला वरीयताओं में जाओ और फिर बिल्ला classpath (windows>preferences>tomcat>advanced>add projects to tomcat classpath)

अपनी परियोजना जोड़ने के लिए, ग्रहण के तहत अपने webapp चलाने के लिए पुन: प्रयास करें।

यहाँ an article का वर्णन उसी प्रक्रिया/सेटअप, JSF लेकिन हडसन (एक ही समस्या है, हालांकि)

के लिए नहीं आप स्पष्ट रूप से देख सकते हैं दो कदम मैं उपर्युक्त है:

http://wiki.hudson-ci.org/download/attachments/4161557/override.png

http://wiki.hudson-ci.org/download/attachments/4161557/otherTips.png

+1

हम्म, जेएसएफ क्यों? क्या आप jstl कहना चाहते थे? मेरे पास पहले से ही मेरे मैवेन कॉन्फ़िगरेशन में एक डिप्टी के रूप में है, इसलिए यह पहले से ही कक्षापथ पर होना चाहिए। लेकिन मैं आगे बढ़ जाऊंगा और इसे मैन्युअल रूप से निर्माण पथ में जोड़ने का प्रयास करूंगा। धन्यवाद। –

+1

जेएसटीएल इस तरह अधिक है :) लेकिन इस उत्तर में वर्णित सामान्य सिद्धांत अभी भी खड़ा है। तो, क्या यह आपके मामले के लिए काम किया? – VonC

+1

नहीं। मेरे पास पहले से ही जेएसएलएल मेवेन के माध्यम से एक निर्भरता के रूप में सूचीबद्ध है; यह "लाइब्रेरीज़" टैब पर मेवेन डीपीएस के तहत दिखाई देता है, और मेरे पास "ऑर्डर एंड एक्सपोर्ट" टैब पर "मैवेन निर्भरता" चेकमार्क किया गया है। अभी भी कोई खुशी नहीं है। :-( –

1

मुझे आपका दर्द महसूस होता है। मैं एक ही दर्द के माध्यम से ग्वाट, मैवेन, और ग्रहण को एक साथ काम करने की कोशिश कर रहा हूं।

मैं इसे निम्नलिखित pom.xml का उपयोग करके मेवेन के साथ काम करने में सक्षम हूं। इस तरह आप होस्ट किए गए मोड में चलाने के लिए mvn gwt:run का उपयोग कर सकते हैं, लेकिन दुर्भाग्यवश, मुझे काम करने के लिए ग्रहण लॉन्च रन टाइम कॉन्फ़िगरेशन उत्पन्न करने के लिए एमवीएन लक्ष्य mvn gwt:eclipse कभी नहीं मिला।

यहां मेरे pom.xml से संबंधित स्निपेट हैं। ध्यान दें कि मुझे अलग-अलग स्थान में gwt इंस्टॉल करना आसान है और mvn को repo से mwn डाउनलोड करने के बजाय मैवेन पॉइंट का उपयोग करना आसान लगता है। एमवीएन निर्भरताओं में "सिस्टम" स्तर का दायरा यह होता है कि यह क्या होता है।

<properties> 

     <!-- convenience to define GWT version in one place --> 
     <gwt.version>1.7.1</gwt.version> 
     <google.webtoolkit.home>${env.GWT_HOME}</google.webtoolkit.home> 

     <!-- tell the compiler we can use 1.5 --> 
     <maven.compiler.source>1.6</maven.compiler.source> 
     <maven.compiler.target>1.6</maven.compiler.target>  

    </properties> 

    <dependencies> 

     <!-- GWT dependencies (from central repo) --> 
    <dependency> 
     <groupId>com.google.gwt</groupId> 
     <artifactId>gwt-servlet</artifactId> 
     <version>${gwt.version}</version> 
     <scope>system</scope> 
     <systemPath>${env.GWT_HOME}/gwt-servlet.jar</systemPath> 
    </dependency> 
    <dependency> 
     <groupId>com.google.gwt</groupId> 
     <artifactId>gwt-user</artifactId> 
     <version>${gwt.version}</version> 
     <scope>system</scope> 
     <systemPath>${env.GWT_HOME}/gwt-user.jar</systemPath> 
    </dependency> 

    ... other dependencies... 
    </dependencies> 

    <build> 
    <outputDirectory>war/WEB-INF/classes</outputDirectory> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>gwt-maven-plugin</artifactId> 
     <version>1.1</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>compile</goal> 
       <goal>generateAsync</goal> 
       <goal>test</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <runTarget>com.gwt.example/Application.html</runTarget> 
      <extraJvmArgs>-Xmx512m</extraJvmArgs> 
     </configuration> 
     </plugin> 
     <!-- 
      If you want to use the target/web.xml file mergewebxml produces, 
      tell the war plugin to use it. 
      Also, exclude what you want from the final artifact here. 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <configuration> 
        <webXml>target/web.xml</webXml> 
        <warSourceExcludes>.gwt-tmp/**</warSourceExcludes> 
       </configuration> 
      </plugin> 
      --> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.0.2</version> 
      <configuration> 
      <source>${maven.compiler.source}</source> 
      <target>${maven.compiler.target}</target> 
      <module>com.gwt.example</module> 
      </configuration> 
     </plugin> 
    </plugins> 

    ...rest of pom.xml... 

एक और तकनीक के साथ मैं सफलता मिली है ग्रहण google gwt plugin उपयोग करने के लिए है। एक नया जीडब्ल्यूटी प्रोजेक्ट बनाने के लिए बस विज़ार्ड का उपयोग करें, सुनिश्चित करें कि आप इसे ग्रहण से चला सकते हैं, फिर अपने कोड के साथ संशोधित करें। जब बिलाव 5x के तहत तैनात

1

इस webapp ठीक काम करता है; ग्रहण में चलते समय मुझे टैगलिब्स को हल करने के लिए यह प्रतीत नहीं होता है।मैं एक्लिप्स के लिए नया हूं, और जीडब्ल्यूटी + मेवेन के लिए आवश्यक सभी चलती हिस्सों के साथ काम कर रहा हूं, मैंने अपने बालों को खींच लिया है।

आप जाहिरा तौर पर Tomcat/lib बजाय WEB-INF/lib में JSTL JAR फ़ाइल (फ़ाइलें) की है। आप इसे कम से कम तीन तरीकों से ठीक कर सकते हैं:

  1. जेएसटीएल जेएआर फ़ाइल को WEB-INF/lib में ले जाएं/कॉपी करें।
  2. जेएसटीएल जेएआर फाइलों को अपनी विकास मशीन के Tomcat/lib में ले जाएं/कॉपी करें।
  3. एक्स्टिप्स में वेब प्रोजेक्ट के साथ जेएसटीएल जेएआर फ़ाइल (ओं) युक्त सही टोमकैट सर्वर को संबद्ध करें। यदि अभी तक नहीं किया गया है, तो Servers दृश्य में टॉमकैट सर्वर जोड़ें। तो फिर इस परियोजना में गुण जावा पथ बिल्ड करने के लिए जाना>पुस्तकालय>प्रश्न में सर्वर का चयन करें लाइब्रेरी>सर्वर रनटाइम>।
1

ग्रहण परियोजना क्लासपाथ में जार फ़ाइलों को जोड़ें। अगर आपके पास पहले से ही यह फ़ाइल tomcat lib है। यह विकल्प आपके लिए काम करेगा। यदि आपके पास ग्रहण वेब प्रोजेक्ट है तो दूसरा विकल्प वेब-इंफ लिब फ़ोल्डर में जार जोड़ना है।

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