解决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>


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