मैं Tomcat like is shown here में एक समय में केवल एक ही परियोजना चलाने के लिए mvn tomcat7-maven-plugin:run -am -pl :foo
का उपयोग कर रहा हूं। अब मैं एक ही बंदरगाह के तहत कई मॉड्यूल चलाने के लिए चाहता हूं लेकिन विभिन्न संदर्भ। उदाहरण के लिए, मैं करना चाहते हैं: tomcat7-maven-plugin:run
प्लगइन के साथ यह संभव हैमैवेन प्लगइन tomcat7 का उपयोग कैसे करें: एकाधिक संदर्भों (WARs) के साथ चलाएं?
<project><!-- ... -->
<build><!-- ... -->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0-SNAPSHOT</version>
<configuration>
<path>/</path>
<port>8080</port>
<addContextWarDependencies>true</addContextWarDependencies>
<addWarDependenciesInClassloader>true</addWarDependenciesInClassloader>
<warSourceDirectory>${project.build.directory}/${project.build.finalName}/</warSourceDirectory>
</configuration>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>bar</artifactId>
<version>${project.version}</version>
<type>war</type>
<scope>tomcat</scope>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
<pluginRepositories>
<pluginRepository>
<id>apache.snapshots</id>
<name>Apache Snapshots</name>
<url>http://repository.apache.org/content/groups/snapshots-group/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
:
/ => foo.war
/bar => bar.war
यहाँ एक उदाहरण pom.xml झलकी है कि मैं के साथ काम कर रहा है क्या है? मैं इसे अच्छी तरह से खेलने के लिए सही वाक्यविन्यास खोजने के लिए संघर्ष कर रहा हूं। जब मैं इसे चलाने के लिए maven
कमांड चलाता हूं, तो यह केवल प्रोजेक्ट पदानुक्रम में पाता है। और यदि मैं उन्हें <fork>true</fork>
या स्पष्ट रूप से विभिन्न टर्मिनल से चलाता हूं तो मुझे "java.net.BindException: पता पहले से उपयोग में है: 8080"।
मुझे लगता है कि वर्तमान मॉड्यूल के भीतर रूट के रूप में चलने वाले संदर्भ को परिभाषित करने के लिए कॉन्फ़िगर का एक हिस्सा है? यानी, यह मेरे "bar.war" को "/ bar" के रूप में "foo.war" के pom.xml में "/" के रूप में जोड़ने का तरीका होगा? यह निर्भरताओं के कारण सीधे काम नहीं करता है लेकिन मैं अभी भी इसके साथ खेल रहा हूं। – mckamey
मुझे "bar.war" की निर्भरताओं को संभालने के लिए यह प्रतीत नहीं होता है। मैंने उन्हें इस http://stackoverflow.com/a/9928987/43217 की तरह स्पष्ट रूप से जोड़ने की कोशिश की है लेकिन कोई भाग्य नहीं है। – mckamey
इसके अलावा, अगर मैं "bar.war" को मॉड्यूल में स्कोप "टोमकैट" की निर्भरता के रूप में जोड़ने का प्रयास करता हूं, तो यह पहले बनाता है और tomcat7: रन कमांड इसके बजाए इसे निष्पादित करने का प्रयास करता है। – mckamey