2012-08-25 16 views
18

नहीं पाया जा सकता है ग्रहण में मैं अपने build.xml के लिए 5 चेतावनी हो रही है:taskdef वर्ग org.apache.catalina.ant.InstallTask ​​

taskdef class.org.apache.catalina.ant.InstallTask cannot be found 
taskdef class.org.apache.catalina.ant.ListTaskcannot be found 
taskdef class.org.apache.catalina.ant.ReloadTaskcannot be found 
taskdef class.org.apache.catalina.ant.StartTask cannot be found 
taskdef class.org.apache.catalina.ant.StopTask cannot be found 

मैं निम्नलिखित प्रणाली वातावरण चर सेट कर लेते हैं (विंडोज 7)

ANT_HOME: C:\apache-ant-1.8.4 
CATALINA_HOME: C:\apache-tomcat-7.0.29 
JAVA_HOME: C:\Program Files\Java\jdk1.6.0_34 
and have added %ANT_HOME%/bin to PATH 

संपादित करें: मैं भी सी में कैटालिना-ant.jar जोड़ दिया है: \ अपाचे-चींटी-1.8.4 \ lib

अधिक कोड के कुछ हिस्सों:

<!-- We need the Catalina jars for Tomcat --> 
<!-- * for other app servers - check the docs --> 
<fileset dir="${appserver.lib}"> 
    <include name="catalina-ant.jar"/> 
</fileset> 
</path> 

<taskdef name="install" classname="org.apache.catalina.ant.InstallTask"> 
    <classpath refid="catalina-ant-classpath"/> 
</taskdef> 
<taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"> 
    <classpath refid="catalina-ant-classpath"/> 
</taskdef> 
<taskdef name="list" classname="org.apache.catalina.ant.ListTask"> 
    <classpath refid="catalina-ant-classpath"/> 
</taskdef> 
<taskdef name="start" classname="org.apache.catalina.ant.StartTask"> 
    <classpath refid="catalina-ant-classpath"/> 
</taskdef> 
<taskdef name="stop" classname="org.apache.catalina.ant.StopTask"> 
    <classpath refid="catalina-ant-classpath"/> 
</taskdef> 

क्या गलत है?

+0

आप अधिक जानकारी दे सकते हैं? उदाहरण के लिए, आपके बिल्ड फ़ाइल का taskdef भाग। – coolcfan

+0

चेतावनियों का कारण बनने वाले कोड की पंक्तियों में जोड़ा गया है – Arvin

उत्तर

20

मुझे लगता है कि केवल CATALINA_HOME का उल्लेख नहीं है। आपको कैटलिना-चींटी जार को चींटी के वर्ग पथ में रखना होगा। टॉमकैट 7 में, इस उद्देश्य के लिए 4 जार थे जबकि पिछले संस्करणों में इसके लिए केवल एक ही जार था। कृपया इस link का पालन करें।

लिंक से उद्धृत के रूप में,

शुरू में, यकीन है कि बिलाव प्रबंधक कैटालिना-चींटी द्वारा उपयोग के लिए कॉन्फ़िगर किया गया है। सुनिश्चित करें कि TOMCAT_HOME/conf/tomcat-users.xml में उपयोगकर्ताओं में से एक के लिए भूमिकाओं में शामिल है। उदाहरण के लिए:

<tomcat-users> 
    <user name="admin" password="s3cr£t" roles="manager-gui,manager-script"/> 
</tomcat-users> 

कैटालिना-चींटी बिलाव 6 के लिए एक एकल JAR फ़ाइल के भीतर समझाया गया था। टोमकैट 7 के लिए कैटालिना-एंट चार जार फ़ाइलों की आवश्यकता है। एक से TOMCAT_HOME/bin:

tomcat-juli.jar 

और तीन TOMCAT_HOME/lib से:

catalina-ant.jar 
tomcat-coyote.jar 
tomcat-util.jar 

वहाँ बनाने के कम से कम तीन तरीकों से चींटी के जार उपलब्ध हैं:

  • JARs को ANT_HOME/lib फ़ोल्डर में कॉपी करें। तब चींटी उन्हें मिल जाएगी।
  • जेएआर को अपनी परियोजना के भीतर एक फ़ोल्डर में कॉपी करें जिसे आप अपने स्रोत नियंत्रण प्रणाली में जांचते हैं। चींटी तो एक रास्ता id चाहिए उन्हें खोजने के लिए:
<path id="catalina-ant-classpath"> 
    <fileset dir="${catalina-ant-dir}"> 
     <include name="catalina-ant.jar"/> 
     <include name="tomcat-coyote.jar"/> 
     <include name="tomcat-util.jar"/> 
     <include name="tomcat-juli.jar"/> 
    </fileset> 
</path> 

कहाँ catalina-ant-dir में इस तरह जार के साथ निर्देशिका आप हर आप मशीन पर चींटी स्थापना संशोधित करने की जरूरत नहीं है। पर निर्माण करें। अपने टॉमकैट 7 स्थापना से सीधे JAR तक पहुंचें।चींटी तो उन्हें खोजने के लिए एक रास्ता id चाहिए:

<path id="catalina-ant-classpath"> 
    <fileset dir="${appserver.lib}"> 
      <include name="catalina-ant.jar"/> 
      <include name="tomcat-coyote.jar"/> 
      <include name="tomcat-util.jar"/> 
     </fileset> 
    <fileset dir="${appserver.home}/bin"> 
       <include name="tomcat-juli.jar"/> 
    </fileset> 
</path> 

कहाँ appserver.lib बिलाव 7 के lib निर्देशिका के लिए पथ है और appserver.home बिलाव के शीर्ष स्तर की निर्देशिका स्थापित करने के लिए पथ है। इस तरह आपके द्वारा बनाए गए प्रत्येक बॉक्स पर टॉमकैट 7 की आवश्यकता है।

मेरी निजी वरीयता ऊपर 2 के लिए है।

अब आपकी एंट स्क्रिप्ट कैटलिना-एंट जेएआर देख सकती है जिसे आपको की आवश्यकता है, यह बताएं कि कौन से कार्य उपलब्ध हैं। ये सबसे अधिक हैं यदि सभी चीजें जो चींटियों के लिए उपलब्ध हैं।

<taskdef name="catalina-deploy" classname="org.apache.catalina.ant.DeployTask" classpathref="catalina-ant-classpath"/> 
<taskdef name="catalina-list" classname="org.apache.catalina.ant.ListTask" classpathref="catalina-ant-classpath"/> 
<taskdef name="catalina-reload" classname="org.apache.catalina.ant.ReloadTask" classpathref="catalina-ant-classpath"/> 
<taskdef name="catalina-findleaks" classname="org.apache.catalina.ant.FindLeaksTask" classpathref="catalina-ant-classpath"/> 
<taskdef name="catalina-resources" classname="org.apache.catalina.ant.ResourcesTask" classpathref="catalina-ant-classpath"/> 
<taskdef name="catalina-start" classname="org.apache.catalina.ant.StartTask" classpathref="catalina-ant-classpath"/> 
<taskdef name="catalina-stop" classname="org.apache.catalina.ant.StopTask" classpathref="catalina-ant-classpath"/> 
<taskdef name="catalina-undeploy" classname="org.apache.catalina.ant.UndeployTask" classpathref="catalina-ant-classpath"/> 

अंत में आप कार्य है कि वास्तव में काम करते हैं का एक सेट की जरूरत है। मैं केवल निम्नलिखित लोगों का उपयोग करते हैं यद्यपि, जैसा कि आप ऊपर देख सकते हैं, कुछ कार्य हैं:

<target name = "stop-webapp"> 
     <catalina-stop url="${tomcat.manager.url}" 
         username="${tomcat.username}" 
         password="${tomcat.password}" 
         path="/${webapp.name}" 
         failonerror="false"/> 
</target> 

<target name = "start-webapp"> 
    <catalina-start url="${tomcat.manager.url}" 
         username="${tomcat.username}" 
         password="${tomcat.password}" 
         path="/${webapp.name}"/> 
</target> 

<target name = "undeploy-webapp"> 
    <catalina-undeploy url="${tomcat.manager.url}" 
          username="${tomcat.username}" 
          password="${tomcat.password}" 
          path="/${webapp.name}" 
          failonerror="false"/> 
</target> 

<target name = "deploy-webapp"> 
    <catalina-deploy url="${tomcat.manager.url}" 
         username="${tomcat.username}" 
         password="${tomcat.password}" 
         path="/${webapp.name}" 
         war="file:${war.file}"/> 
</target> 

tomcat.manager.url यूआरएल है जहां बिलाव प्रबंधक रहता है। यह टॉमकैट 6 से टॉमकैट 7 में हुए बदलावों में से एक है। आमतौर पर यह होगा: http://:8080/manager/text

Tomcat.username और Tomcat.password उपयोगकर्ता नाम और पासवर्ड टॉमकैट प्रबंधक के लिए हैं।

webapp.name टॉमकैट एप्लिकेशन का नाम है कि आप तैनाती कर रहे हैं।

war.file वह टोमकैट एप्लिकेशन है जिसे आप तैनात कर रहे हैं WAR फ़ाइल।

+0

मैंने पहले से ही catalina-ant.jar को सी में जोड़ा है: \ apache-ant-1.8.4 \ lib – Arvin

+0

इस जानकारी का प्रश्न में उल्लेख नहीं किया गया था और जैसा कि मैंने कहा था कि आपको चाहिए लिंक में उल्लिखित 4 जार शामिल करने के लिए। – vikas

+0

धन्यवाद, मैंने कोड की रेखाएं जोड़ दी हैं जो चेतावनियों का कारण बनती हैं। मैंने ANT_HOME/lib में अन्य 3 फ़ाइलों में जोड़ने का भी प्रयास किया है, लेकिन यह अभी भी – Arvin

4

लगता के बाद से वहाँ अपने प्रश्न में कोई अधिक जानकारी के

<fileset dir="${appserver.home}/common/lib"> 
<include name="servlet*.jar"/> 
</fileset> 

मेरा मानना ​​है कि आप अपनी build.xml में ऊपर दी गई सेटिंग हो सकता है कृपया, $ बदलने {appserver है आप, यह परिवर्तन करने के लिए हो सकता है .home} निर्देशिका में जिसमें टॉमकैट इंस्टॉलेशन

<fileset dir="C:/Program Files/Apache Software Foundation/Tomcat 5.5/common/lib"> 
<include name="servlet*.jar"/> 
</fileset> 
+0

मेरी पोस्ट में और विवरण जोड़ा गया। मैंने कोशिश की है कि आपने जो कहा है, लेकिन उसने दुर्भाग्यवश – Arvin

+0

चेतावनियों को नहीं हटाया है क्या आपने C "/ प्रोग्राम फ़ाइलें/अपाचे सॉफ़्टवेयर फाउंडेशन/टोमकैट 5.5/सामान्य/lib build.properties फ़ाइल में" appserver.home "सेट करने का प्रयास किया था? – likeToCode

+0

build.properties फ़ाइल में नीचे की प्रतिलिपि बनाने का प्रयास करें, user.home = C:/प्रोग्राम फ़ाइलें/अपाचे सॉफ्टवेयर फाउंडेशन appserver.home = $ {user.home}/टोमकैट 5.5 deploy.path = $ {appserver.home }/webapps – likeToCode

64

टॉमकैट 7 इंस्टॉलटास्क को डिप्लॉयटास्क द्वारा प्रतिस्थापित किया गया है।

परिवर्तन

<taskdef name="install" classname="org.apache.catalina.ant.DeployTask"> 
    <classpath refid="catalina-ant-classpath"/> 
</taskdef> 
+1

धन्यवाद मैं टॉमकैट 7 का उपयोग कर रहा हूं और तैनाती टास्क में बदल रहा हूं समस्या हल! – Bartzilla

+0

ग्रेट, यह सुनकर अच्छा लगा। –

+1

यह सही उत्तर है। –

1

आप eclipes तो उपयोग कर रहे हैं आप नीचे दिए गए चरणों का पालन करके अपने ant_home स्थान बदलने के लिए, खिड़की पर नेविगेट साथ की तरह

वर्ष

<taskdef name="install" classname="org.apache.catalina.ant.InstallTask"> 
    <classpath refid="catalina-ant-classpath"/> 
</taskdef> 

अपने घोषणा > prefrances> चींटी> रनटाइम> classpath> AntHome एंथोम बटन पर क्लिक करें और अपनी एंथोम निर्देशिका पथ प्रदान करें।

और उर समस्या solv के लिए यू anthome/lib फ़ोल्डर के अंदर Catalina-ant.jar कॉपी करने की जरूरत है

धन्यवाद, शरद

4

बिल्ला 7 में, org.apache.catalina.ant का एक सेट होता टास्कैट के चल रहे उदाहरण से वेब अनुप्रयोगों को तैनात, अनावश्यक, सूची, पुनः लोड, प्रारंभ और बंद करने के लिए प्रबंधक अनुप्रयोग के साथ बातचीत करने के लिए उपयोग किया जा सकता है। DeployTask के साथ InstallTask ​​को बदलने से बिल्ड समस्या हल हो जाएगी।

<taskdef name="install" classname="org.apache.catalina.ant.DeployTask"> 
     <classpath refid="catalina-ant-classpath"/> 
    </taskdef> 
    <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"> 
     <classpath refid="catalina-ant-classpath"/>`enter code here` 
    </taskdef> 
    <taskdef name="list" classname="org.apache.catalina.ant.ListTask"> 
     <classpath refid="catalina-ant-classpath"/> 
    </taskdef> 
    <taskdef name="start" classname="org.apache.catalina.ant.StartTask"> 
     <classpath refid="catalina-ant-classpath"/> 
    </taskdef> 
    <taskdef name="stop" classname="org.apache.catalina.ant.StopTask"> 
     <classpath refid="catalina-ant-classpath"/> 
    </taskdef> 
1

निम्नलिखित आज़माएं, यह आपकी समस्या का समाधान होगा:

1) Click Eclipse menu Window > Preferences 
2) Click Ant > Runtime 
3) Under Classpath tab, select Ant Home Entries and click button Add External JARs 
4) Browse and open $ECLIPSE_HOME/plugins/org.apache.ant_myscrum/lib/catalina-ant.jar 
5) Click Apply and OK button 

Follow the instruction no.3

Follow the instruction no.4