2012-03-05 14 views
11

का उपयोग कर जेएक्सबी को शामिल करें मेरे 1.6.0_16 जेडीके पर काम करते हुए, मैंने अपाचे सीएक्सएफ 2.5.2 का उपयोग करके डब्लूएसडीएल से अपने स्टब क्लासेस जेनरेट किए, जो हालिया जैक्सब-एपीआई 2.2 का उपयोग करता है। मुझे पता है कि यह जैक्सबी-एपीआई 2.1 का उपयोग करना संभव है, लेकिन संगतता समस्याओं से बचने के लिए, मैं इसे वर्तमान संस्करण का उपयोग करना चाहूंगा। चूंकि मेरे JDK सुविधाओं 2.1 JAXB, निर्माण निम्न संदेश के साथ विफल:मैवेन

error at @XmlElementRef(name = "protocol", namespace = "urn:ch.beo.emc", type = JAXBElement.class, required = false) 

इसलिए, मैं Maven सबसे हाल ही में JAXB एपीआई और impl निम्नलिखित निर्भरता का उपयोग शामिल करने की कोशिश की।

<dependency> 
    <groupId>javax.xml.bind</groupId> 
    <artifactId>jaxb-api</artifactId> 
    <version>2.2.5</version> 
</dependency> 
<dependency> 
    <groupId>com.sun.xml.bind</groupId> 
    <artifactId>jaxb-impl</artifactId> 
    <version>2.2.5</version> 
</dependency> 

दो जार ग्रहण में Maven निर्भरता में जोड़ दिया गया है, वहीं त्रुटि संदेश दोनों में ग्रहण और Maven निर्माण बनी हुई है।

मैं अपने मेवेन बिल्ड में इन जारों को कैसे शामिल कर सकता हूं और उन्हें ग्रहण और लक्ष्य प्रणाली दोनों में उपयोग किया जा सकता है?


पुनश्च: कृपया यहाँ पूरा पोम खोजें:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>ch.beo</groupId> 
    <artifactId>emc.front</artifactId> 
    <version>3.1.3-SNAPSHOT</version> 
    <repositories> 
     <repository> 
      <id>jboss</id> 
      <name>JBoss</name> 
      <url>http://repository.jboss.org/maven2/</url> 
     </repository> 
     <repository> 
      <id>freehep</id> 
      <name>Freehep</name> 
      <url>http://java.freehep.org/maven2</url> 
     </repository> 
     <repository> 
      <id>JCurl</id> 
      <url>http://jcurl.berlios.de/m2/repo</url> 
     </repository> 
     <repository> 
      <id>JavaNet</id> 
      <url>http://download.java.net/maven/2/</url> 
     </repository> 
     <repository> 
      <id>djmaven2</id> 
      <url>http://www.fdvs.com.ar/djmaven2</url> 
      <name>DynamicJasper public Repository</name> 
     </repository> 
    </repositories> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <build> 
     <defaultGoal>compile</defaultGoal> 
     <sourceDirectory>src/main/java</sourceDirectory> 
     <testSourceDirectory>src/test/java</testSourceDirectory> 
     <outputDirectory>target/main</outputDirectory> 
     <testOutputDirectory>target/test</testOutputDirectory> 
     <resources> 
      <resource> 
       <targetPath>ch/beo/emc/front/resources</targetPath> 
       <directory>src/main/resources</directory> 
       <excludes> 
        <exclude>src/main/resources/security/jarsign</exclude> 
       </excludes> 
      </resource> 
     </resources> 
     <testResources> 
      <testResource> 
       <targetPath>ch/beo/emc/front/resources</targetPath> 
       <directory>src/test/resources</directory> 
      </testResource> 
      <testResource> 
       <targetPath>ch/beo/emc/front/resources</targetPath> 
       <directory>src/main/resources</directory> 
       <excludes> 
        <exclude>src/main/resources/security/jarsign</exclude> 
       </excludes> 
      </testResource> 
     </testResources> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>aspectj-maven-plugin</artifactId> 
       <version>1.1</version> 
       <configuration> 
        <complianceLevel>1.6</complianceLevel> 
        <aspectLibraries> 
         <aspectLibrary> 
          <groupId>org.springframework</groupId> 
          <artifactId>spring-aspects</artifactId> 
         </aspectLibrary> 
        </aspectLibraries> 
       </configuration> 
       <executions> 
        <execution> 
         <goals> 
          <goal>compile</goal> 
          <goal>test-compile</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <configuration> 
        <archive> 
         <manifest> 
          <mainClass>ch.beo.emc.front.factory.Front</mainClass> 
          <addClasspath>true</addClasspath> 
          <classpathPrefix>lib</classpathPrefix> 
         </manifest> 
        </archive> 
        <descriptors> 
         <descriptor>assembly.xml</descriptor> 
        </descriptors> 
       </configuration> 
       <executions> 
        <execution> 
         <id>make-assembly</id> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <configuration> 
        <includes> 
         <include>ch/beo/emc/front/AllTests.java</include> 
        </includes> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-shade-plugin</artifactId> 
       <version>1.4</version> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>shade</goal> 
         </goals> 
         <configuration> 
          <createDependencyReducedPom>false</createDependencyReducedPom> 
          <transformers> 
           <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
            <mainClass>ch.beo.emc.front.factory.Front</mainClass> 
           </transformer> 
           <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> 
            <resource>META-INF/spring.handlers</resource> 
           </transformer> 
           <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> 
            <resource>META-INF/spring.schemas</resource> 
           </transformer> 
          </transformers> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jar-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>sign</id> 
         <phase>package</phase> 
         <goals> 
          <goal>sign</goal> 
         </goals> 
         <configuration> 
          <keystore>src/main/resources/security/jarsign/server.pfx</keystore> 
          <type>pkcs12</type> 
          <alias>beo-it.ch</alias> 
          <storepass>****</storepass> 
          <signedjar>${project.build.directory}/signed/${project.build.finalName}.jar</signedjar> 
          <verify>true</verify> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
      <groupId>com.l2fprod</groupId> 
      <artifactId>l2fprod-common-all</artifactId> 
      <version>6.9.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.swixml</groupId> 
      <artifactId>swixml</artifactId> 
      <version>1.5.144</version> 
     </dependency> 
     <dependency> 
      <groupId>net.java.balloontip</groupId> 
      <artifactId>balloontip</artifactId> 
      <version>1.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.swinglabs</groupId> 
      <artifactId>swingx</artifactId> 
      <version>1.6</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>2.5.6.SEC01</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>2.5.6.SEC01</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-aop</artifactId> 
      <version>2.5.6.SEC01</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-aspects</artifactId> 
      <version>2.5.6.SEC01</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-tx</artifactId> 
      <version>2.5.6.SEC01</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-test</artifactId> 
      <version>2.5.6.SEC01</version> 
      <scope>test</scope> 
      <exclusions> 
       <exclusion> 
        <artifactId>junit</artifactId> 
        <groupId>junit</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>jfree</groupId> 
      <artifactId>jfreechart</artifactId> 
      <version>1.0.9</version> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.4</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.java.jnlp</groupId> 
      <artifactId>jnlp</artifactId> 
      <version>6.0</version> 
     </dependency> 
     <dependency> 
      <groupId>com.thoughtworks.xstream</groupId> 
      <artifactId>xstream</artifactId> 
      <version>1.3.1</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-lang</groupId> 
      <artifactId>commons-lang</artifactId> 
      <version>2.5</version> 
     </dependency> 
     <dependency> 
      <groupId>org.jscience</groupId> 
      <artifactId>jsr-275</artifactId> 
      <version>0.8.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.poi</groupId> 
      <artifactId>poi</artifactId> 
      <version>3.7</version> 
     </dependency> 
     <dependency> 
      <groupId>net.sf.jasperreports</groupId> 
      <artifactId>jasperreports</artifactId> 
      <version>3.7.4</version> 
      <exclusions> 
       <exclusion> 
        <groupId>commons-beanutils</groupId> 
        <artifactId>commons-beanutils</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>commons-collections</groupId> 
        <artifactId>commons-collections</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>commons-logging</groupId> 
        <artifactId>commons-logging</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>jfree</groupId> 
        <artifactId>jcommon</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>jfree</groupId> 
        <artifactId>jfreechart</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>xml-apis</groupId> 
        <artifactId>xml-apis</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>bouncycastle</groupId> 
        <artifactId>bcmail-jdk14</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>bouncycastle</groupId> 
        <artifactId>bcprov-jdk14</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>bouncycastle</groupId> 
        <artifactId>bctsp-jdk14</artifactId> 
       </exclusion> 
       <exclusion> 
        <artifactId>jdtcore</artifactId> 
        <groupId>eclipse</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.eclipse.jdt.core.compiler</groupId> 
      <artifactId>ecj</artifactId> 
      <version>3.5.1</version> 
     </dependency> 
     <dependency> 
      <groupId>ar.com.fdvs</groupId> 
      <artifactId>DynamicJasper</artifactId> 
      <version>3.1.2</version> 
      <exclusions> 
       <exclusion> 
        <groupId>jasperreports</groupId> 
        <artifactId>jasperreports</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>commons-logging</groupId> 
        <artifactId>commons-logging</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>javax.xml.bind</groupId> 
      <artifactId>jaxb-api</artifactId> 
      <version>2.2.5</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.xml.bind</groupId> 
      <artifactId>jaxb-impl</artifactId> 
      <version>2.2.5</version> 
     </dependency> 
    </dependencies> 
</project> 
+0

आपका लक्षित आर्टिफैक्ट क्या है? युद्ध या जार या ईएआर? – artbristol

+0

यह वास्तव में एक जार है। मैं इसे एक साथ लपेटने के लिए मेवेन-जार-प्लगइन और मैवेन-शेड-प्लगइन का उपयोग कर रहा हूं। –

+0

क्या आप अपने पीओएम से प्लगइन कॉन्फ़िगरेशन पोस्ट कर सकते हैं जहां आप सीएक्सएफ का उपयोग कर रहे हैं? – nwinkler

उत्तर

12

मैं सिर्फ JAXB भी साथ इस मुद्दे में भाग; भलाई मुझे मैवेन पसंद नहीं है (नहीं)। यहां बताया गया है कि मैंने समस्या का समाधान कैसे किया।

केंद्रीय रेपो

 
<repository> 
    <id>central</id> 
    <url>http://repo.maven.apache.org/maven2/</url> 
</repository> 

जोड़े एपीआई के संस्करण संशोधित करें और Impl

 
<dependency> 
    <groupId>javax.xml.bind</groupId> 
    <artifactId>jaxb-api</artifactId> 
    <version>2.2.7-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>com.sun.xml.bind</groupId> 
    <artifactId>jaxb-impl</artifactId> 
    <version>2.2.5-b10</version> 
</dependency> 
+0

दुर्भाग्य से, यह मेरे निर्माण में मदद नहीं करता है। वास्तव में, संस्करण 2.2.7-SNAPSHOT उपलब्ध नहीं है, भले ही मैंने भंडार शामिल किया हो। –

+1

यह उन चीजों में से एक है जो मुझे मैवेन में deps के प्रबंधन से नफरत है। ऐसा होने पर मैं क्या करता हूं, यदि वर्तमान में उपलब्ध संस्करण को खोजने के लिए ब्राउज़र में रेपो पर सीधे देखना है या http://search.maven.org/#search%7Cga%7C1%7Cjaxb-api –

+0

का उपयोग करें, खोज में देखें, 2.2.6 उपलब्ध है –

1

जोड़े

<dependency> 
    <groupId>javax.xml.bind</groupId> 
    <artifactId>jaxb-api</artifactId> 
    <version>2.2.12</version> 
</dependency> 
<dependency> 
    <groupId>com.sun.xml.bind</groupId> 
    <artifactId>jaxb-impl</artifactId> 
    <version>2.2.11</version> 
</dependency> 

और

<repositories> 
    <repository> 
     <id>central</id> 
     <url>http://repo.maven.apache.org/maven2/</url> 
    </repository> 
</repositories>