2012-01-15 18 views
5

यदि एक जेएआर मेवेन रेपो में मूल डीएलएल के साथ है तो मुझे डीएलएल को पैकेजिंग में लाने के लिए मुझे अपने pom.xml में क्या डालना होगा?मैवेन रेपो से देशी डीएलएल का संदर्भ कैसे लें?

उदाहरण के लिए Jacob लाइब्रेरी के लिए अधिक विशिष्ट होने के लिए। mvn package चलाने के बाद आप jacob-1.14.3-x64.dllWEB-INF/lib फ़ोल्डर में कैसे जाते हैं?

हमारे स्थानीय नेक्सस भंडार में हम जार और DLL के लिए इन परिभाषाओं मिल गया है:

<dependency> 
    <groupId>net.sf.jacob-project</groupId> 
    <artifactId>jacob</artifactId> 
    <version>1.16-M2</version> 
</dependency> 

<dependency> 
    <groupId>net.sf.jacob-project</groupId> 
    <artifactId>jacob</artifactId> 
    <version>1.16-M2</version> 
    <classifier>x64</classifier> 
    <type>dll</type> 
</dependency> 

लेकिन हमारे परियोजना पोम के लिए एक ही निर्भरता डाल और mvn package चल DLL WEB-INF/lib करने के लिए जाना नहीं है, लेकिन जार वहाँ ठीक हो जाता है।

हम क्या गलत कर रहे हैं?

+0

पुनश्च मुझे पता है कि याकूब 1.14 पुरानी है - यह सिर्फ उदाहरण –

+2

के लिए है क्या [इस] (http://stackoverflow.com/questions/1001774/managing-dll- निर्भरता-के साथ-साथ) सवाल का जवाब नहीं देते? – eis

+0

आपके भंडार में डीएलएल कैसे संग्रहीत किया जाता है? क्या यह पीओएम के पैकेजिंग के साथ डीएलएल के वर्गीकरण का उपयोग करता है? – Monty0018

उत्तर

6

एक डीएलएल के लिए, आपको Copy Dependencies MOJO का उपयोग करने की आवश्यकता होगी।

आप डीएलएल के अलावा अन्य निर्भरताओं को फ़िल्टर कर सकते हैं और अपनी परियोजना संरचना में कहीं भी अपने लक्ष्य/वेबएप/वेब-आईएनएफ/lib सहित उन्हें कॉपी करने के लिए निर्दिष्ट कर सकते हैं।

+0

ग्रेट, धन्यवाद! इस मोोजो को 'तैयार-पैकेज' चरण में डालकर चाल चल रही थी! –

+3

क्या आप हमें मेवेन कोड दिखा सकते हैं? –

+1

दूसरे उत्तर में कोड है, क्षमा करें, मैंने उस समय उस टिप्पणी को नहीं देखा –

8

Monty0018 से संकेत के लिए धन्यवाद मैं समस्या को हल करने में सक्षम था। Maven कोड है कि मेरे लिए काम करता है:

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-dependency-plugin</artifactId> 
     <executions> 
     <execution> 
      <id>copy-dependencies</id> 
      <phase>prepare-package</phase> 
      <goals> 
      <goal>copy-dependencies</goal> 
      </goals> 
      <configuration> 
      <excludeTransitive>true</excludeTransitive> 
      <includeArtifactIds>jacob</includeArtifactIds> 
      <failOnMissingClassifierArtifact>true</failOnMissingClassifierArtifact> 
      <silent>false</silent> 
      <outputDirectory>target/APPNAME/WEB-INF/lib</outputDirectory> 
      <overWriteReleases>true</overWriteReleases> 
      <overWriteSnapshots>true</overWriteSnapshots> 
      <overWriteIfNewer>true</overWriteIfNewer> 
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 
+1

क्या आप मुझे एक बात बता सकते हैं: यह आपके समाधान को कैसे काम करता है? क्या आप शुरू करने के दौरान लिबररी के पथ को संशोधित करना चाहिए? क्या आप कुछ और करना चाहिए modfiying pom.xml? –

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