【问题标题】:Servlet error when changing JAR from compile to provided将 JAR 从编译更改为提供时出现 Servlet 错误
【发布时间】:2017-03-17 21:04:43
【问题描述】:

我目前正在尝试将 JAR 从已部署的 WAR 移动到仅包含在 Tomcat 库中。这是我的pom.xml中的依赖项

<dependency>
    <groupId>psft.pt8</groupId>
    <artifactId>psjoa</artifactId>
    <version>8.54.22</version>
    <type>jar</type>
    <scope>provided</scope>
</dependency>

当范围为&lt;scope&gt;compile&lt;/scope&gt; 时,一切正常。我构建了工件,将其部署在 Tomcat 中,并且可以访问 WSDL。当我将范围更改为提供时,我仍然可以构建工件,将其部署在 Tomcat 中,它看起来很好,但是当尝试转到 WSDL 时,我遇到了这个错误。

The server encountered an internal error that prevented it from fulfilling this request: Servlet.init() for servlet spring-ws threw exception
javax.servlet.ServletException: Servlet.init() for servlet spring-ws threw exception
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    psiprobe.Tomcat80AgentValve.invoke(Tomcat80AgentValve.java:45)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:676)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:745)

不知道从哪里开始。

【问题讨论】:

  • 你把jar放到tomcat lib文件夹里了吗
  • 是的,我做到了。我有另一个项目,我将同一个 jar 移动到 lib 文件夹,它工作正常。我已经用那个 jar 和它设置为编译时创建的 jar 尝试了这个当前的。
  • 看看这个 S.O 讨论可能会帮助你配置你的 tomcat:stackoverflow.com/questions/267953/…

标签: java maven tomcat wsdl spring-ws


【解决方案1】:

解决方案 1。

如果您不想在 WAR 生成的工件中包含工件 psft.pt8:psjoa:8.54.22

  • pom.xml 中使用&lt;scope&gt;provided&lt;/scope&gt;
  • psft.pt8:psjoa:8.54.22 JAR 文件放入$CATALINA_HOME\lib(在macOS、Linux 上)或%CATALINA_HOME%\lib(在Windows 操作系统上)。

解决方案 2。

如果您想在 WAR 生成的工件中包含工件 psft.pt8:psjoa:8.54.22,请在 pom.xml 中使用 &lt;scope&gt;compile&lt;/scope&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-09
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多