2012-01-16 14 views
5

के माध्यम से टोमकैट पर निर्भर परियोजनाओं को तैनात करना हम वर्तमान में विकास के दौरान टॉमकैट में हमारी परियोजनाओं को तैनात करने के लिए माईक्लिप्स का उपयोग कर रहे हैं। हम MyEclipse को डंप करना और डब्ल्यूटीपी पर स्विच करना चाहते हैं। मैं ग्रहण 3.7 का उपयोग कर रहा हूँ।डब्ल्यूटीपी

हमारे प्रोजेक्ट लेआउट में 'वेब' प्रोजेक्ट और 'मॉड्यूल' प्रोजेक्ट है।

मैं प्रत्येक प्रोजेक्ट की अपनी आईवीई फाइल को आईवीईडीई का उपयोग करके अपनी निर्भरताओं को घोषित करने में सक्षम होना चाहता हूं ताकि वे उन जारों की ग्रहण लाइब्रेरी तैयार कर सकें और उन जारों को WEB-INF/lib और प्रत्येक से कक्षाएं तैनात कर सकें परियोजना को वेब-आईएनएफ/कक्षाओं में तैनात किया गया।

मैंने 'मॉड्यूल' प्रोजेक्ट को "यूटिलिटी मॉड्यूल" और जारों को अपनी आईवी.एक्सएमएल फाइल से डीओबीमेंट असेंबली के हिस्से के रूप में WEB-INF/lib में घोषित करने और फिर 'मॉड्यूल' परियोजनाओं को जोड़ने की कोशिश की है। 'वेब' प्रोजेक्ट की तैनाती असेंबली के लिए, लेकिन मुझे जो मिलता है वह 'वेब' प्रोजेक्ट के वेब-आईएनएफ/lib में 'modules.jar' नामक एक जार है जिसमें 'मॉड्यूल' प्रोजेक्ट के लिए जार हैं (यानी modules.jar) वेब-आईएनएफ/lib निर्देशिका।

क्या डब्ल्यूटीपी को आवेदन संरचना से तैनात करना संभव है जो मेरे पास तैनाती लेआउट के लिए है या क्या मुझे अपनी दो परियोजनाओं को एक में पुनर्गठित करना होगा? यदि हां, तो मैं यह कैसे करूँगा?

उत्तर

1

मुझे नहीं पता कि इससे मदद मिलेगी, मैं आपके प्रश्न को पूरी तरह से समझ नहीं पा रहा हूं।

आप सभी जार को एक विशिष्ट निर्देशिका में डाउनलोड करने के लिए ivyDe बता सकते हैं।

  1. जांच "पुनः प्राप्त करो ..." बॉक्स
  2. की तरह पुनः प्राप्त पैटर्न में अपने वेब-INF/lib के सापेक्ष पथ डाल:

    संसाधनों/वेब-INF/lib/[ विरूपण साक्ष्य] - [प्रकार] -। [संशोधन] [एक्सटेंशन]

enter image description here

+0

मदद करने के लिए समय निकालने के लिए धन्यवाद। यह काफी नहीं है जो मैं खोज रहा हूं, मुझे वास्तव में मेरे लिए एक संकल्प करने के लिए आईवीडीई की आवश्यकता नहीं है, स्थानीय कैश में उनका संदर्भ देना ठीक है और डब्ल्यूटीपी तैनाती उन्हें आईवीडीई द्वारा बनाई गई लाइब्रेरी से तैनात कर देगी। समस्या यह है कि 'मॉड्यूल' प्रोजेक्ट द्वारा संदर्भित पुस्तकालयों को जार डब्ल्यूटीपी में तैनात किया जाएगा 'वेब' प्रोजेक्ट के लिए युद्ध के वेब-आईएनएफ/lib के बजाय 'मॉड्यूल' प्रोजेक्ट के लिए बनाया गया है। मैं एक ऐसा समाधान ढूंढने की कोशिश कर रहा हूं जिसके लिए मुझे 'मॉड्यूल' प्रोजेक्ट को 'वेब' प्रोजेक्ट में विलय करने की आवश्यकता नहीं होगी, ताकि डब्ल्यूटीपी को काम पर तैनात किया जा सके। – Victor

1

मेरा मानना ​​है कि हम क्या आप कोशिश कर रहे हैं करने के लिए एक समान विन्यास है जी स्थापित करने के लिए। सुनिश्चित करें कि आपके पास वरीयताओं> आइवी> क्लासपाथ फलक में चेक किए गए "वर्कस्पेस में निर्भरता को हल करें"।

नीचे दिए गए सेटअप के साथ, टोमकैट में वारप्रोजेक्ट जोड़ते समय, आपको WarProject नोड पर एक [+] लिंक देखना चाहिए और इसे विस्तारित करना जारप्रोजेक्ट नोड दिखाना चाहिए। प्रकाशन करते समय, आपको JarProject.jar देखना चाहिए और इसके ivy.xml में परिभाषित किसी भी जार को टॉमकैट की प्रकाशित निर्देशिका में wtpwebapps/WarProject/WEB-INF/lib में जोड़ा गया है, जो मेरे वर्कस्पेस निर्देशिका के अंतर्गत .metadata/.plugins/org.eclipse.wst.server.core/tmp0 में है।

जार परियोजना की .settings/org.eclipse.wst.common.project.facet.core.xml:

<faceted-project> 
    <fixed facet="jst.java" /> 
    <fixed facet="jst.utility" /> 
    <installed facet="jst.java" version="1.6" /> 
    <installed facet="jst.utility" version="1.0" /> 
</faceted-project> 

जार परियोजना की .settings/org.eclipse.wst.common.component:

<project-modules id="moduleCoreId" project-version="1.5.0"> 
    <wb-module deploy-name="JarProject"> 
    <wb-resource deploy-path="/" source-path="/src" /> 
    <wb-resource deploy-path="/" source-path="/resources" /> 
    </wb-module> 
</project-modules> 

जार परियोजना की ivy.xml:

<ivy-module 
    version="2.0" 
    xmlns:m="http://ant.apache.org/ivy/maven" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"> 
    <info module="JarProject" organisation="org.whatever" revision="${revision}" /> 
    <configurations> 
     <conf name="local" visibility="private" 
     description="Artifacts necessary for local development and testing" /> 
     <conf name="master" /> 
     <conf name="sources" /> 
    </configurations> 
    <publications> 
     <artifact ext="pom" type="pom" /> 
     <artifact ext="jar" type="jar" conf="master" /> 
     <artifact ext="jar" type="source" conf="sources" m:classifier="sources" /> 
    </publications> 

    <dependencies defaultconfmapping="*->master(default),runtime()"> 
    <dependency org="org.jdom" name="jdom" rev="1.0" conf="master" /> 
    <dependency org="junit" name="junit-dep" rev="4.9" conf="local" /> 
    </dependencies> 
</ivy-module> 

युद्ध परियोजना की .settings/org.eclipse.wst.common.project.facet.core।xml:

<faceted-project> 
    <fixed facet="jst.java" /> 
    <fixed facet="jst.web" /> 
    <installed facet="jst.java" version="1.6" /> 
    <installed facet="jst.web" version="2.5" /> 
    <runtime name="Apache Tomcat v6.0" /> 

युद्ध परियोजना की .settings/org.eclipse.wst.common.component:

<project-modules id="moduleCoreId" project-version="1.5.0"> 
    <wb-module deploy-name="WarProject"> 
    <property name="context-root" value="WarProject" /> 
    <wb-resource deploy-path="/" source-path="/WebContent" /> 
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src" /> 
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/resources" /> 
    </wb-module> 
</project-modules> 

युद्ध परियोजना की .classpath:

<classpath> 
    <classpathentry kind="output" path="bin" /> 
    <classpathentry kind="src" path="src" /> 
    <classpathentry kind="src" path="resources" /> 
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> 
    <attributes> 
     <attribute name="owner.project.facets" value="jst.java" /> 
    </attributes> 
    </classpathentry> 
    <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v6.0"> 
    <attributes> 
     <attribute name="owner.project.facets" value="jst.web" /> 
    </attributes> 
    </classpathentry> 
    <classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?ivyXmlPath=ivy.xml&amp;confs=local&amp;ivySettingsPath=%24%7Bworkspace_loc%3AWarProject%2Fivysettings.xml%7D&amp;loadSettingsOnDemand=false&amp;propertyFiles=" /> 
    <classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?ivyXmlPath=ivy.xml&amp;confs=master&amp;ivySettingsPath=%24%7Bworkspace_loc%3AWarProject%2Fivysettings.xml%7D&amp;loadSettingsOnDemand=false&amp;propertyFiles="> 
    <attributes> 
     <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib" /> 
    </attributes> 
    </classpathentry> 
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container" /> 
</classpath> 

युद्ध परियोजना की आइवी लता .xml:

<ivy-module 
    version="2.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"> 
    <info module="WarProject" organisation="org.whatever" revision="${revision}" /> 
    <configurations> 
    <conf name="local" visibility="private" 
     description="Artifacts necessary for local development and testing" /> 
    <conf name="master" /> 
    </configurations> 

    <dependencies defaultconfmapping="*->master(default),runtime()"> 
    <dependency org="org.whatever" name="JarProject" rev="latest.integration" changing="true" conf="master" /> 
    <!-- and other dependencies of the war project --> 
    </dependencies> 
</ivy-module> 

मैंने यह भी पाया यह आइवी classpath कंटेनर के लिए classpath प्रविष्टि में org.eclipse.jst.component.dependency विशेषता छोड़ करने के लिए संभव है और इसके बजाय org.eclipse.wst.common.component फ़ाइल इस तरह में जोड़ें:

<dependent-module deploy-path="/WEB-INF/lib" handle="module:/classpath/con/org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?ivyXmlPath=ivy.xml&amp;confs=master&amp;ivySettingsPath=%24%7Bworkspace_loc%3AWarProject%2Fivysettings.xml%7D&amp;loadSettingsOnDemand=false&amp;propertyFiles="> 
    <dependency-type>consumes</dependency-type> 
</dependent-module> 

लेकिन इस विकल्प के तहत, तैनात वेबपैप बहुत अच्छी तरह अद्यतन नहीं कर रहा था अगर मैंने ivy.xml बदल दिया और हल हो गया। साथ ही, आईवी को यूआरएल पैरामीटर में किए गए किसी भी बदलाव को दो फाइलों के साथ सिंक में रखा जाना चाहिए या तैनाती असेंबली में कुछ भी योगदान नहीं दिया जाएगा।

कोई विचार नहीं कि इसे यूआई के माध्यम से कैसे सेट करें ...

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