आगे के शोधकर्ताओं के लिए, मैं जेबॉस 6 से सभी पुराने जेएक्सबी और सीएक्सएफ को हटाने के तरीके पर अपने अतिरिक्त कदम साझा करना चाहता था।उनमें से 1 और जोड़ने के नए संस्करणों (यह बढ़ाया है यवेस मार्टिन जवाब):
निकाले जाने के लिए: सर्वर // deployers/स्विचबोर्ड-jboss-सेम:
common/deploy/jbossws-console.war
server/<configuration>/deploy/jbossws-console-activator-jboss-beans.xml
server/<configuration>/deployers/jbossws.deployer/
server/<configuration>/deployers/jbossws-jaxrpc.deployer/
client/cxf-*.jar
client/jaxws-*.jar
client/jaxb-impl.jar
client/jaxb-xjc.jar
client/wstx-lgpl.jar
client/jbossws-*.jar
client/stax-api.jar
client/activation.jar
lib/wstx-lgpl.jar
lib/jaxb-impl.jar
lib/jaxb-xjc.jar
common/lib/jboss-jaxb-api_2.2_spec.jar
common/lib/jboss-jaxws-api_2.2_spec.jar
common/lib/jboss-jaxrpc-api_1.1_spec.jar
common/lib/cxf-*.jar
common/lib/jaxws-*.jar
common/lib/jbossws-*.jar (except common/lib/jbossws-spi.jar)
lib/endorsed/activation.jar
lib/endorsed/jboss-jaxb-api_2.2_spec.jar
lib/endorsed/jbossws-cxf-factories.jar
lib/endorsed/jboss-jaxws-api_2.2_spec.jar
lib/endorsed/stax-api.jar
विन्यास फाइल से पर
। एक्सएमएल
निकालें निम्नलिखित लाइनों:
<entry>
<key>javax.xml.ws.WebServiceContext</key>
<value><inject bean="org.jboss.switchboard.WebServiceContextResourceProvider"/></value>
</entry>
<inject bean="org.jboss.switchboard.WebServiceRefResourceProvider"/>
आप 2.6.3 के लिए JAXB + CXF उन्नत करने के लिए चाहते हैं, जोड़ने इन पुस्तकालयों:
lib/jaxb-xjc-2.1.13.jar
lib/endorsed/activation-1.1.1.jar
lib/endorsed/jaxb-api-2.2.6.jar
lib/endorsed/jaxws-api-2.2.6.jar
lib/endorsed/stax2-api-3.1.1.jar
lib/endorsed/saaj-api-1.3.4.jar
lib/endorsed/cxf-api-2.6.3.jar
common/lib/cxf-api-2.6.3.jar
आप जावा 6 परियोजना है, तो नए JAXB JRE से एक के साथ यह निष्कर्ष निकाल जाएगा, इसलिए हम नए संस्करण का समर्थन किया है। यहाँ कैसे Maven के लिए यह करना है:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<maxmem>512m</maxmem>
<compilerArguments>
<endorseddirs>${project.build.directory}/endorsed</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<forkMode>once</forkMode>
<argLine>-Djava.endorsed.dirs=${project.build.directory}/endorsed</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jax.version}</version>
</artifactItem>
<artifactItem>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
<version>${jax.version}</version>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.directory}/endorsed</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<configuration>
<fork>once</fork>
<additionalJvmArgs>-Djava.endorsed.dirs=${project.build.directory}/endorsed</additionalJvmArgs>
<!-- rest of the normal codegen configuration options -->
</configuration>
<dependencies>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${jax.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>${jax.version}</version>
</dependency>
</dependencies>
</plugin>
अपने आईडीई पर आप नए JAXB लाइब्रेरी का उपयोग करके संकलित करने के लिए यह बताने के लिए है। आईडीईए के मामले में आप इसे यहां कर सकते हैं:
IDEA -> Settings -> Compiler -> Java Compiler
in "Additional command line parameters" add:
-endorseddirs /<your_absolut_path_to_project>/target/endorsed/
स्रोत
2012-11-06 09:48:48
मुझे अभी मेरी परियोजना के लिए एक ही आवश्यकता है। मैं –
की जांच कर रहा हूं अपनी प्रगति पोस्ट करना सुनिश्चित करें, मैं इस समस्या से काफी अटक गया हूं। –
असल में, मुझे परेशानी हो रही है क्योंकि जेबॉसडब्ल्यूएस-सीएक्सएफ ने मेरे आवेदन में वसंत पाया और इसे जेबॉस क्लासलोडर में इसकी आवश्यकता है। फिर JavaSE wsimport द्वारा डब्लूएसडीएल से उत्पन्न मेरा क्लाइंट अपनी कक्षाओं को लोड करने में असफल रहा ... जैसा कि मैं केवल डब्ल्यूएस को क्लाइंट के रूप में उपयोग करता हूं, मैं वही विकल्प ढूंढता हूं। –