मैं shows how to add third-party libraries to the generated application.xml पर मेवेन-कान-प्लगइन साइट पर उदाहरण का पालन कर रहा हूं। हालांकि, ऐसा लगता है कि यह काम नहीं कर रहा है। इसी तरह वेब मॉड्यूल contextRoot को अनदेखा किया जा रहा है।मेवेन-कान-प्लगइन में jarModule शामिल नहीं है .xml
documentation के अनुसार जो मैं करने की कोशिश कर रहा हूं वह पूरी तरह से संभव होना चाहिए।
एक वेब मॉड्यूल के संदर्भ जड़ contextRoot पैरामीटर का उपयोग कर अनुकूलित किया जा सकता है।
कृपया ध्यान दें कि तृतीय पक्ष लाइब्रेरी (अर्थात JarModule) उत्पन्न application.xml में शामिल नहीं हैं (केवल EJB-ग्राहक एक जावा प्रविष्टि में शामिल होना चाहिए)। हालांकि, में जेनर निर्भरता को निर्दिष्ट करके लागू किया जा सकता है InApplicationXml ध्वज।
मेरे पास निम्नलिखित अनुप्रयोग है जब यह मेरे application.xml में निर्माण निष्पादित करता है।
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC
"-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
"http://java.sun.com/dtd/application_1_3.dtd">
<application>
<display-name>MyApp.EAR</display-name>
<module>
<ejb>MyApp.jar</ejb>
</module>
<module>
<web>
<web-uri>MyApp.war</web-uri>
<context-root>/MyApp.Web</context-root>
</web>
</module>
</application>
निम्नलिखित maven configuraton (pom.xml) से।
...
<modelVersion>4.0.0</modelVersion>
<groupId>com.blah</groupId>
<artifactId>MyApp.EAR</artifactId>
<version>1.0</version>
<packaging>ear</packaging>
<build>
<plugins>
<plugin>
<groupId>maven-ear-plugin</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.7</version>
<configuration>
<applicationName>MyApp</applicationName>
<modules>
<ejbModule>
<groupId>com.blah</groupId>
<artifactId>MyApp.EJB</artifactId>
</ejbModule>
<webModule>
<groupId>com.blah</groupId>
<artifactId>MyApp.Web</artifactId>
<contextRoot>MyApp</contextRoot>
</webModule>
<jarModule>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<includeLibInApplicationXml>true</includeLibInApplicationXml>
</jarModule>
</modules>
<archive>
<manifestEntries>
<WebLogic-Application-Version>${weblogic.version}</WebLogic-Application-Version>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- web and ejb modules -->
<dependency>
<groupId>com.blah</groupId>
<artifactId>MyApp.EJB</artifactId>
<version>1.0</version>
<type>ejb</type>
</dependency>
<dependency>
<groupId>com.blah</groupId>
<artifactId>MyApp.Web</artifactId>
<version>1.0</version>
<type>war</type>
</dependency>
</dependencies>
...
यह तुरंत स्पष्ट है कि application.xml का उद्देश्य मेरे द्वारा उत्पन्न नहीं किया जा रहा है।
- आपूर्ति की गई रूट रूट application.xml में सही नहीं है, इसके बजाय MyApp.Web का डिफ़ॉल्ट नाम निर्दिष्ट MyApp के बजाय आउटपुट है।
- निर्दिष्ट org.slf4j jarModule पूरी तरह से application.xml से अनुपलब्ध है।
मैं क्या गलत कर रहा हूं?
मेवेन से डीबग नीचे दिखाया गया है।
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal: org.apache.maven.plugins:maven-ear-plugin:2.4.2:generate-application-xml (default-generate-application-xml)
[DEBUG] Style: Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
<description>${project.description}</description>
<displayName>${project.artifactId}</displayName>
<encoding default-value="UTF-8"/>
<generatedDescriptorLocation>${project.build.directory}</generatedDescriptorLocation>
<includeLibInApplicationXml default-value="false"/>
<project>${project}</project>
<version default-value="1.3"/>
<workDirectory>${project.build.directory}/${project.build.finalName}</workDirectory>
</configuration>
पीएस मैंने मेवेन-कान-प्लगइन टैग बनाने की कोशिश की, लेकिन यह मुझे नहीं जाने देगी क्योंकि मैं काफी सम्मानित नहीं हूं! अगर कोई ऐसा कर सकता है तो मैं आभारी रहूंगा।
यह पूरी तरह से मेरी कॉन्फ़िगरेशन को पूरी तरह से अनदेखा कर रहा है। कोई विचार क्यों ?? – mrswadge