2010-01-14 21 views
6

से बिल्डिंग जावा हम अपने निर्माण को चलाने के लिए एमएसबिल्ड का उपयोग कर रहे हैं जो कई .NET परियोजनाओं/असेंबली को संकलित और आउटपुट करता है। अब हमें अपने असेंबली के जावा संस्करण को शामिल करने की आवश्यकता का सामना करना पड़ रहा है और यह सुनिश्चित नहीं है कि हमें इस जावा स्रोत के निर्माण को एमएसबिल्ड में एकीकृत करने के बारे में कैसे जाना चाहिए।एमएसबिल्ड

हमेशा कमांड प्रॉम्प्ट पर खोलने का विकल्प होता है और इसे मैन्युअल रूप से संकलन और जारिंग करने का विकल्प होता है, लेकिन क्या एमएसबिल्ड में जावा बिल्डिंग के बारे में जाने के लिए कोई अन्य और अधिक सुरुचिपूर्ण तरीके हैं?

उत्तर

2

Exec task सही बात है। आसान, काम करता है। निश्चित नहीं है कि "शैल आउट" से आपका क्या मतलब है।

+0

'शैल आउट' वास्तव में एक्ज़ेक कार्य के लिए एक कॉल था .... केवल हमें मैन्युअल टाइपिंग करने और जावा फ़ाइल संदर्भों को सही रखने की आवश्यकता होगी। मानव कारक को बाहर निकालने का एक तरीका ढूंढ रहा था ... –

+1

सीधे जावैक और जार को कॉल करने के बजाय, आप एंटी और स्पैफी को जावा बिल्ड को build.xml में कॉल कर सकते हैं जिसे आप अपने कोड बेस के हिस्से के रूप में रखते हैं। – rsp

0

संकलित करने के लिए जावा संभव है (मैं MSBuild के साथ VB6 कोड संकलित करने के लिए एक बना दिया है), लेकिन अगर यह है एक अच्छा विचार है एक और सवाल .. (YAGNI और जो कुछ)

तो है अपनी खुद की MSBuild कार्य बनाना कमांड लाइन पर शेलिंग करना काम करता है यह सिर्फ एक ठीक काम हो सकता है।

मेरा आंत एक चींटी प्रक्रिया में खोल रहा है क्योंकि चींटी जावा के बारे में कुछ और जानता है।

0

मैं एमएसबिल्ड से 'चींटी' को कॉल करने के लिए कस्टम कार्य लिखूंगा।

https://github.com/sumi2/AntTask

आप

<PropertyGroup> 
    <JavaHome>$(MSBuildProjectDirectory)\build\tools\jdk1.6.0_25</JavaHome> 
    <AntHome>$(MSBuildProjectDirectory)\build\tools\apache-ant-1.8.2</AntHome> 
</PropertyGroup> 

<!-- Call Ant with 'jar' target. --> 
<Ant 
    BuildFile="$(MSBuildProjectDirectory)\YourJavaProject\build.xml" 
    Target="jar" 
    AntHome="$(AntHome)" 
    JavaHome="$(JavaHome)" 
/> 
1

निम्नलिखित की तरह चींटी स्क्रिप्ट फोन मैं Microsoft's Team Foundation Server Build Extensions Power Tool December 2011

यह MSBuild के लिए एक चींटी कार्य है उपयोग कर रहा हूँ कर सकते हैं।

प्रलेखन दुर्लभ लगता है लेकिन यह Teamprise Build Extensions से लिया गया है जिसमें एक अच्छा पीडीएफ मैनुअल है।

@ tsu1980 के पोस्ट में एक अच्छा एमएसबिल्ड कोड नमूना है।

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