2009-01-06 19 views
8

मैं एक वेब अनुप्रयोग (कोई चौखटे) ग्रूवी साथ जावा मिश्रण विकसित करना चाहते हैं। मैं प्लगइन के साथ आईडीई नेटबीन का उपयोग कर रहा हूँ।ग्रूवी, Netbeans और जावा ईई

अगर मैं एक नया जावा SE परियोजना शुरू करने और एक ग्रूवी वर्ग जोड़ने के लिए, यह कोई समस्या नहीं के साथ काम करता .. लेकिन जब मैं एक नया जावा ईई परियोजना बना सकते हैं और एक ग्रूवी वर्ग को जोड़ने यह संकलन नहीं कर सकते हैं और मुझे निम्न त्रुटि से पता चलता :

/home/webcodei/NetBeansProjects/testeGroovyWeb/src/java/pacote/Hello.java:23: cannot find symbol 

symbol : class Hroovy 
location: class pacote.Hello 
      Hroovy h = new Hroovy(); 
/home/webcodei/NetBeansProjects/testeGroovyWeb/src/java/pacote/Hello.java:23: cannot find symbol 
symbol : class Hroovy 
location: class pacote.Hello 
      Hroovy h = new Hroovy(); 
2 errors 
/home/webcodei/NetBeansProjects/testeGroovyWeb/nbproject/build-impl.xml:383: The following error   occurred while executing this line: 
/home/webcodei/NetBeansProjects/testeGroovyWeb/nbproject/build-impl.xml:211: Compile failed; see  the compiler error output for details. 
FALHA NA CONSTRUÇÃO (tempo total: 0 segundos) 

किसी को कैसे मैं NetBeans में जावा ईई + ग्रूवी सक्षम कर सकता का एक संकेत है?

ps: मैं Grails

PS2 के अस्तित्व को पता है: ग्रूवी जार मेरी classpath में है।

सभी के लिए धन्यवाद!

उत्तर

5

ऐसा लगता है कि NetBeans 6.5 जावा का webapp परियोजना प्रबंधक "ग्रूवी सक्षम करें" समर्थन है कि जावा अनुप्रयोग और जावा वर्ग पुस्तकालय परियोजनाओं में मौजूद है नहीं है।

मैं आप इसे दो प्रकार के आसपास मिल सकता है के बारे में सोच सकते हैं:

सबसे पहले, आप एक जावा कक्षा लाइब्रेरी के रूप में एक अलग परियोजना में अपने ग्रूवी कोड और परीक्षण डाल सकता है। फिर जावा वेबपैप को ग्रोवी प्रोजेक्ट पर निर्भर करें। NetBeans स्वचालित रूप से निर्भर परियोजना का निर्माण करेगा ताकि आप शायद ही कभी ध्यान दें कि वे अलग-अलग परियोजनाओं में हैं।

दूसरा, "ग्रूवी सक्षम करें" जादू नहीं है। सभी यह करता है/nbprojects में एक ग्रूवी-build.xml लिख सकते हैं और यह आयात करने के लिए निर्माण impl.xml संशोधित है। ग्रूवी-build.xml "groovyc" को लागू करने की बजाय डिफ़ॉल्ट "javac" मैक्रो ओवरराइड करता है। यदि आप चींटी के साथ पूरी तरह से काम कर रहे हैं, तो आप जावा एप्लिकेशन प्रोजेक्ट से groovy-build.xml की प्रतिलिपि बना सकते हैं और इसे अपने जावा वेब प्रोजेक्ट पर कॉपी कर सकते हैं और फिर इसे अपने build.xml से आयात कर सकते हैं (बिल्ड-इम्प्ल.एक्सएमएल आयात करने से पहले)। Groovy-build.xml को कुछ बदलावों की आवश्यकता होगी क्योंकि वेबपैप और क्लास लाइब्रेरी के बीच कुछ गुण थोड़ा अलग हैं।

5

@ डेव स्मिथ,

यह वही था जो मैंने किया था। मैंने एक जावा परियोजना और एक वेबपैप बनाया और उनकी तुलना करना शुरू कर दिया। कुछ मिनटों के बाद मुझे एहसास हुआ कि केवल दुविधा ही groovy-build.xml थी।

तो मैं dir में ग्रूवी-build.xml की नकल की, और मेरे build.xml में निम्नलिखित लाइनों डाला: से पहले नियमित रूप से

<import file="nbproject/build-impl.xml"/> 

<import file="nbproject/groovy-build.xml"/> 

सही और फिर कहा जाता है ginovy ​​फ़ाइल -init-macrodef-javac को ओवरराइट करने के लिए।

<target depends="-groovy-init-macrodef-javac" name="-pre-compile"> 

</target> 

मैं भी मेरा पूर्व करने के लिए ग्रूवी-build.xml से नाम स्थान को बदलने के लिए की जरूरत:

<macrodef name="javac" uri="http://www.netbeans.org/ns/web-project/2"> 

और विशेषता को J2EE classpath ($ {j2ee.platform.classpath}) डाला बाद में कुछ पंक्तियां:

<attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/> 

उसके बाद परियोजना सफलतापूर्वक काम कर रही है!= D

सभी के लिए धन्यवाद!

+0

सब एक त्रुटि को छोड़कर ठीक (धन्यवाद!) काम वेब परियोजना संयोजित करते समय: "javac: अवैध झंडा: $ {javac.compilerargs.jaxws}"। बस एक कोशिश देने के लिए, मैं ग्रूवी-build.xml फ़ाइल में इस अतिरिक्त झंडा हटा दिया और संकलन सफल रहा। इस बदसूरत हैक के लिए कोई विकल्प? –

+0

विश कोई एक उदाहरण ग्रूवी-build.xml ऊपर फेंक दिया तो हम Grails स्थापित करने परेशान करने के लिए नहीं है सिर्फ इतना है कि प्राप्त करने के लिए ... और मुझे आश्चर्य है कि अगर किसी को भी इस चीज उपयोग कर रहा है, के लिए "ग्रूवी-निर्माण Github पर भी एक खोज .xml "एक उदाहरण के साथ नहीं आया है! – User

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