解決org.apache.cxf.wsdl11.WSDLServiceFactory.報NullPointerException

問題描述:最近將一個應用的jar包跟運行的jar打成一個包,以方便部署,不用因爲本地改了依賴, 而單個添加新增的jar

到部署環境。打包後部署到服務器,jar是起來了,但是訪問CXF wsdl服務的時候報NullPointerException。

問題原因:打包依賴的maven-shade-plugin沒有添加CXF相關的transformer。

問題解決:修改pom.xml, 添加CXF wsdl相關的transformer,

代碼如下:

<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<configuration>
					<createDependencyReducedPom>false</createDependencyReducedPom>
					<filters>
						<filter>
							<artifact>*:*</artifact>
							<excludes>
								<exclude>META-INF/*.SF</exclude>
								<exclude>META-INF/*.DSA</exclude>
								<exclude>META-INF/*.RSA</exclude>
							</excludes>
						</filter>
					</filters>
				</configuration>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<transformers>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
									<projectName>Apache CXF</projectName>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/cxf/cxf.extension</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
									<resource>META-INF/extensions.xml</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
									<resource>META-INF/cxf/extensions.xml</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/cxf/bus-extensions.txt</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
									<resource>META-INF/cxf/bus-extensions.xml</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
									<resource>META-INF/wsdl.plugin.xml</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
									<resource>META-INF/cxf/java2wsbeans.xml</resource>
								</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>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<mainClass>main方法類完整路徑</mainClass>
								</transformer>
							</transformers>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章