要使用WireMock 2.19.0创建工作WAR文件,需要执行以下步骤:
问题(1)
:
说明@
http://xmlns.jcp.org/xml/ns/javaee
in元素
监听器@
解决方案:删除
description
listener
web.xml
文件。
问题(2)
java.lang.NullPointerException位于com.github.tomakehurst.wiremock.common.ServletContextFileSource.getRootFile(ServletContextFileSource)。java:35)
解决方案2:添加
weblogic.xml
文件到
WEB_INF
目录,内容:
<weblogic-web-app>
<container-descriptor>
<show-archived-real-path-enabled>true</show-archived-real-path-enabled>
</container-descriptor>
</weblogic-web-app>
问题(3)
:
添加
prefer-application-packages
到
WEB_INF/weblogic.xml
<prefer-application-packages>
<package-name>com.fasterxml.jackson.*</package-name>
<package-name>com.google.common.*</package-name>
<package-name>com.google.thirdparty.*</package-name>
<package-name>net.minidev.json.*</package-name>
</prefer-application-packages>
问题(4)
:
WireMockHandlerDispatchingServlet
:
<servlet>
<servlet-name>wiremock-mock-service-handler-servlet</servlet-name>
...
<init-param>
<param-name>mappedUnder</param-name>
<param-value>/mapping</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>wiremock-mock-service-handler-servlet</servlet-name>
<url-pattern>/mapping/*</url-pattern>
</servlet-mapping>
问题(5)
:
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
<version>2.19.0</version>
<exclusions>
<exclusion>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
</exclusion>
<exclusion>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
</exclusion>
<exclusion>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlets</artifactId>
</exclusion>
<exclusion>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
</exclusion>
</exclusions>
</dependency>
删除WireMock管理服务。
删除
wiremock-admin-handler-servlet
servlet-mapping
配置来自
WEB\ INF/weblogic.xml
文件。
通过以上步骤,您可以构建一个可部署到WebLogic12.2.x服务器的WAR。