मेरा मानना है कि हम क्या आप कोशिश कर रहे हैं करने के लिए एक समान विन्यास है जी स्थापित करने के लिए। सुनिश्चित करें कि आपके पास वरीयताओं> आइवी> क्लासपाथ फलक में चेक किए गए "वर्कस्पेस में निर्भरता को हल करें"।
नीचे दिए गए सेटअप के साथ, टोमकैट में वारप्रोजेक्ट जोड़ते समय, आपको 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&confs=local&ivySettingsPath=%24%7Bworkspace_loc%3AWarProject%2Fivysettings.xml%7D&loadSettingsOnDemand=false&propertyFiles=" />
<classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?ivyXmlPath=ivy.xml&confs=master&ivySettingsPath=%24%7Bworkspace_loc%3AWarProject%2Fivysettings.xml%7D&loadSettingsOnDemand=false&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&confs=master&ivySettingsPath=%24%7Bworkspace_loc%3AWarProject%2Fivysettings.xml%7D&loadSettingsOnDemand=false&propertyFiles=">
<dependency-type>consumes</dependency-type>
</dependent-module>
लेकिन इस विकल्प के तहत, तैनात वेबपैप बहुत अच्छी तरह अद्यतन नहीं कर रहा था अगर मैंने ivy.xml बदल दिया और हल हो गया। साथ ही, आईवी को यूआरएल पैरामीटर में किए गए किसी भी बदलाव को दो फाइलों के साथ सिंक में रखा जाना चाहिए या तैनाती असेंबली में कुछ भी योगदान नहीं दिया जाएगा।
कोई विचार नहीं कि इसे यूआई के माध्यम से कैसे सेट करें ...
मदद करने के लिए समय निकालने के लिए धन्यवाद। यह काफी नहीं है जो मैं खोज रहा हूं, मुझे वास्तव में मेरे लिए एक संकल्प करने के लिए आईवीडीई की आवश्यकता नहीं है, स्थानीय कैश में उनका संदर्भ देना ठीक है और डब्ल्यूटीपी तैनाती उन्हें आईवीडीई द्वारा बनाई गई लाइब्रेरी से तैनात कर देगी। समस्या यह है कि 'मॉड्यूल' प्रोजेक्ट द्वारा संदर्भित पुस्तकालयों को जार डब्ल्यूटीपी में तैनात किया जाएगा 'वेब' प्रोजेक्ट के लिए युद्ध के वेब-आईएनएफ/lib के बजाय 'मॉड्यूल' प्रोजेक्ट के लिए बनाया गया है। मैं एक ऐसा समाधान ढूंढने की कोशिश कर रहा हूं जिसके लिए मुझे 'मॉड्यूल' प्रोजेक्ट को 'वेब' प्रोजेक्ट में विलय करने की आवश्यकता नहीं होगी, ताकि डब्ल्यूटीपी को काम पर तैनात किया जा सके। – Victor