2009-05-26 10 views
18

के साथ नेटबीन प्रोजेक्ट चलाएं मेरे पास एक नमूना कोड है जो नेटबीन्स के साथ बनाया गया था।एंटी

इसमें एक build.xml फ़ाइल है इसलिए मैंने चींटी डाउनलोड की और इसे चलाने का प्रयास किया।

मैं यह त्रुटि संदेश मिल गया है:

...... nbproject\build-impl.xml:76: Platform is not correctly set up 

मैं क्या देख सकते हैं, इस से "बस" Netbeans डाउनलोड करने और वहाँ से नमूना चल तय हो गई है के लिए है, लेकिन ... मैं नहीं चाहता एक 10 फाइल नमूना चलाने के लिए इसे स्थापित करने के लिए।

जावा के साथ नेटबींस परियोजनाओं को चलाने के लिए कोई कामकाज है? सही क्या है .properties फ़ाइल मुझे संशोधित करना है?

उत्तर

11

यह जावा/एएनटी से सीधे नेटबीन जेनरेट की गई परियोजनाओं को चलाने के लिए संभव है, लेकिन आपको कुछ गुणों को मैन्युअल रूप से सेट करने और/या जार फ़ाइलों में पथ जोड़ने की आवश्यकता हो सकती है।

दुर्भाग्य से, NetBeans शामिल करने के लिए अपने स्वयं के taskdef जार फ़ाइलों और संदर्भ गुण है कि केवल /nbproject/private/private.properties फ़ाइलें, जो आम तौर पर जब आप पहली बार NetBeans प्रोजेक्ट खोलने या संशोधित रूप में आप IDE में प्रोजेक्ट को संपादित सेट में परिभाषित कर रहे हैं का उपयोग कर रहा जाता है।

आप का निरीक्षण किया तो build-impl.xml आप संपत्ति खोजने के लिए और निकाले जाते हैं क्या मूल्य निर्धारित करने की आवश्यकता (ओएस मंच), तो या तो करने के लिए सक्षम होना चाहिए:

  • बनाने/ /nbproject/private.properties
  • में गुण सेट कमांडलाइन में build.xml
  • पास माता-पिता में है कि संपत्ति परिभाषा जोड़ने
  • जब अपने चींटी -DPlatform=Foo
  • का उपयोग कर लक्ष्य लागू

व्यक्तिगत रूप से, मुझे नेटबीन जेनरेट की गई एएनटी फाइलों और लक्ष्यों की संरचना पसंद है, लेकिन इससे नफरत है कि वे कितने कस्टम/मालिकाना सामान में जाम करते हैं, जिससे नेटबीन के बिना दौड़ना मुश्किल हो जाता है।

उदाहरण के लिए:

ant -Dplatforms.JDK_1.7.home=/opt/jdk 
+0

ठीक है। मुझे पता है कि मुझे मैन्युअल रूप से "कुछ" गुण सेट करना होगा, और पहली चीज मैंने बिल्ड-इम्प्ल.एक्सएमएल फ़ाइल का चयन करना था (दूसरा त्रुटि संदेश था और तीसरा यहां पोस्ट किया गया था)। यह पता चला है कि मुझे नहीं पता कि संपत्ति क्या स्थापित है और न ही कैसे। अपेक्षित मूल्य क्या है या क्या संशोधित किया जाना चाहिए। मैं आपके उत्तर की सराहना करता हूं लेकिन ... mhh यह सहायक नहीं था :( – OscarRyz

+0

ऑस्कर, यह अनुमान लगाना मुश्किल है कि बिल्ड-इम्प्ल.एक्सएमएल को देखे बिना किन गुणों और मानों को सेट करने की आवश्यकता है। क्या आप इसे पोस्ट कर सकते हैं? –

0

बस Mads' जवाब में जोड़ने के लिए ... आमतौर पर, आप लक्षित मशीन पर कम से कम एक बार खुला Netbeans स्थापित करने और की जरूरत है। एंट परियोजनाएं USERDIR/.netbeans/... निर्देशिका से कुछ सेटिंग्स पर भरोसा करती हैं। यह 6.5+ के साथ बदल गया हो सकता है।

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

+0

I अनुमान है कि मुझे नेटबीन्स के 50 - 120 एमबी डाउनलोड करना है (मुझे नहीं पता कि यह कितना है) केवल 5 केबी जावा फाइलों को चलाने के लिए :(:(... नहह मैं शायद उन्हें कमांड लाइन से संकलित कर दूंगा। – OscarRyz

3

मैंने अभी सफलतापूर्वक नेटबीन प्रोजेक्ट को चींटी के साथ बनाया है। एक "Netbeanless" मशीन के लिए

  • कॉपी <NetBeans-folder>/java2/चींटी
  • कॉपी nbproject/करने के लिए, कहते हैं project.properties, ant.properties
  • हर $ बदलें {: ये बातें मैं करना पड़ा थे चींटी में अभिव्यक्ति।इसके मूल्य के साथ गुण
  • प्लेटफ़ॉर्म जोड़ें। <platform-name> .home = <path to platform>
  • जोड़े libs.CopyLibs.classpath = <path to nb-ant> /extra/org-netbeans-modules-java-j2seproject-copylibtask.jar
  • को javac.classpath में अन्य आवश्यक classpaths जोड़े (उदाहरण के लिए पथ सर्वलेट-api .jar)
  • ant -propertyfile ant.properties

यह काम करता है, लेकिन मुझे खुश नहीं है। मैं या तो प्रोजेक्ट.प्रोपर्टीज का पुन: उपयोग करने का तरीका ढूंढना चाहता हूं, या इसे स्वचालित रूप से "हल" संस्करण (चरण 3) में अनुवाद करना चाहता हूं। फिर स्वचालित हो सकता है।

0

मैं नेटबीन्स 6.8 और जावा परियोजनाओं का उपयोग कर रहा हूं जो नेटबींस के साथ बनाए गए थे नेटबींस ऑटो जेनरेटेड बिल्ड फाइलों से केवल क्ली पर चींटी के साथ चलाया जा सकता है। ant compile, ant run, ant clean, आदि जैसे सभी नियमित लक्ष्य "बस काम करें"। (यदि यह मायने रखता है तो मैं फेडोरा 13 का उपयोग कर रहा हूं)

+0

आप बिंदु खो रहे हैं, प्रश्न यह है कि नेटबीन्स के बिना एंटी के साथ बिल्ड फ़ाइल को कैसे चलाया जाए (उदाहरण के लिए एक निरंतर एकीकरण सर्वर) – Snicolas

+0

@ सिंकोलस जो मैं करता हूं (जेनकींस का उपयोग करके)। शायद नेटबीन द्वारा उत्पन्न आपकी चींटी फाइलें हैं netbeans पर कुछ दिलचस्प निर्भरताएं। हालांकि मेरे लिए यह मामला नहीं है। –

+0

हमारे पास गतिशीलता मंच के उपयोग के कारण बहुत सारी निर्भरताएं हैं। इसलिए यदि हम डॉक्टर के नंबर 2 की ओर इशारा करते हैं और आप भाग्यशाली हैं, कर रहे हैं मामले में 1. – Snicolas

1

मैं अपने नेटबीन्स 7.0 प्रोजेक्ट के साथ इस अभ्यास के माध्यम से गया। मैं जो करने में सक्षम था वह मेरी build.properties फ़ाइल को मेरी विंडोज सिस्टम पर मेरी .netbeans \ 7.0 निर्देशिका से कॉपी करता था और मेरे बिल्ड सर्वर के लिए server.properties फ़ाइल बना देता था। यह एक खिंचाव का अधिक नहीं है, क्योंकि प्रत्येक डेवलपर की build.properties भिन्न हो सकती है, इसलिए सर्वर के लिए एक और फ़ाइल होने की उम्मीद है। मैं फिर एक साधारण सर्वर-build.xml फ़ाइल को एक साथ रखता हूं जो इस फ़ाइल का संदर्भ देता है और केवल init, compile, dist, और clean की मूल बातें करता है। मैंने अपनी परियोजना निर्देशिका के शीर्ष स्तर पर इन दो फ़ाइलों को अपने सीवीएस भंडार में किया है, क्योंकि वे अन्य प्रोजेक्ट फ़ाइलों के साथ संघर्ष नहीं करते हैं और कुछ अपडेट होने की आवश्यकता होने पर अनुस्मारक के रूप में कार्य करते हैं। अब मैं अपने सीआई सर्वर पर "ant -f server-build.xml" के साथ अपना प्रोजेक्ट बना सकता हूं और सबकुछ बस काम करता है।

मेरा पूरा init सेक्शन इस तरह दिखता है, मेरे सर्वर पथ प्राथमिकता देता है, लेकिन NetBeans प्रोजेक्ट गुणों से आवश्यक जानकारी सहित।

<target name="compile"> 
    <ant antfile="${project.MyProj-common}/build.xml" inheritall="false" target="jar"> 
     <property location="${build.dir}" name="dist.ear.dir"/> 
     <property file="server.properties"/> 
     <property file="${project.MyProj-common}/nbproject/project.properties"/> 
    </ant> 
    ... 
</target> 

मैं अपने server.properties को project.properties से j2ee.platform.classpath कॉपी करने के लिए किया था:

<target name="init"> 
    <property file="server.properties"/> 
    <property file="nbproject/project.properties"/> 
</target> 

मैं भी जब मेरे नेस्टेड परियोजनाओं के लिए चींटी कार्यों को परिभाषित ऐसी ही कुछ करना ही था j2ee.server.home के संदर्भों को सुनिश्चित करने के लिए फ़ाइल को आवश्यकतानुसार हल किया गया है। मुझे ऐसा करने की उम्मीद नहीं थी, लेकिन क्लासपाथ अन्यथा गलत था, जिससे निर्माण विफल हो गया।

इस प्रश्न की जानकारी के लिए धन्यवाद, क्योंकि इससे मुझे इस समाधान के लिए मार्गदर्शन करने में मदद मिली।

1

मुझे बस एक ही समस्या का सामना करना पड़ा। मुझे आशा है कि मैं सिर्फ इसके लिए ग्रहण और स्वर्ग में जाने के लिए नेटबीन से छुटकारा पा सकता हूं।

लेकिन here is a good link नेटबीन से एक निरंतर एकीकरण सर्वर (या किसी अन्य आईडीई में भी हो सकता है) में एक चींटी निर्मित परियोजना को निर्यात करने के लिए।

तकनीक बहुत अच्छी तरह से चल रही है।यहाँ एक सारांश है:

  1. सीआई सर्वर पर NetBeans स्थापित
  2. SVN में nbproject शामिल
  3. ऐड उपेक्षा सूची (वहाँ जीयूआई बिना यह करने के लिए, NetBeans इंस्टॉलर पर -silent का उपयोग एक विकल्प है) निजी फ़ोल्डर
  4. सीआई सर्वर पर आपके निजी फ़ोल्डर बनाने
  5. कॉपी कोई वास्तविक (सीआई के लिए इस्तेमाल खाते में एक निजी उपयोगकर्ता फ़ोल्डर की नकल उतार) यह आपके सीआई सर्वर एक फ़ोल्डर को इंगित कर रही किसी उपयोगकर्ता से इस फ़ोल्डर में फ़ोल्डर और अपने सीआई सर्वर पर स्थापित अपने नेटबीन को इंगित करने के लिए प्रत्येक पथ (स्ट्रिंग्स को प्रतिस्थापित करें) को बदलें।

और यह काम करना चाहिए।

-1

तुम बस कि https://github.com/albfan/ant-netbeans

यह चींटी config लिपटे NetBeans के सभी विषमताएं, ताकि आप केवल जरूरत पर काबू पा के लिए इस रेपो उपयोग कर सकते हैं:

संकलन करने के लिए:

$ ant.sh compile 

चलाने के लिए:

$ ant.sh run 

जो भी (स्वत: पूर्णता):

$ ant.sh <tab><tab> 
+0

समाधान के लिए एक लिंक का स्वागत है, लेकिन कृपया सुनिश्चित करें कि आपका उत्तर इसके बिना उपयोगी है: [लिंक के चारों ओर संदर्भ जोड़ें] (// meta.stackexchange.com/a/8259) ताकि आपके साथी उपयोगकर्ताओं के पास कुछ हो विचार करें कि यह क्या है और यह क्यों है, फिर लक्ष्य पृष्ठ अनुपलब्ध होने पर आप जिस पेज से लिंक कर रहे हैं उसके सबसे प्रासंगिक भाग को उद्धृत करें। [उत्तर जो किसी लिंक से थोड़ा अधिक हटाए जा सकते हैं।] (// stackoverflow.com/help/deleted-answers) –