google-oauth-client-jetty 无法在 Tomcat 7 上运行

Wen*_*yan 4 tomcat jetty google-api-java-client

当我使用Google OAuth2时,我需要使用该库

    <dependency>
        <groupId>com.google.oauth-client</groupId>
        <artifactId>google-oauth-client-jetty</artifactId>
        <version>1.23.0</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在 Tomcat 7 上运行我的 web 应用程序时,服务器无法启动并抱怨以下错误:

2017 年 10 月 14 日 9:26:57 PM org.apache.catalina.core.ContainerBase startInternal 严重:启动时子容器失败 java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine [Tomcat].StandardHost[localhost].StandardContext[]]

这是什么原因呢?谢谢。

小智 5

好像有冲突servlet-api。为了避免这种情况,您应该排除servlet-api码头依赖。

在 Maven 上:

<dependency>
  <groupId>com.google.oauth-client</groupId>
  <artifactId>google-oauth-client-jetty</artifactId>
  <version>1.23.0</version>
  <exclusions>
    <exclusion>
      <artifactId>org.mortbay.jetty</artifactId>
      <groupId>servlet-api</groupId>
    </exclusion>
  </exclusions>
</dependency>
Run Code Online (Sandbox Code Playgroud)

在摇篮上:

compile("com.google.oauth-client:google-oauth-client-jetty:1.23.0") {
  exclude group: 'org.mortbay.jetty', module: 'servlet-api'
}
Run Code Online (Sandbox Code Playgroud)