我已经改变了我提供的maven依赖项的范围

Nim*_*sky 0 java spring tomcat maven

我已经将我的maven依赖项的范围更改为提供并手动复制到tomcat/lib(以减少我的war文件大小).

我的应用程序现在无法部署可怕的内存不足错误.

 java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "http-bio-8080-exec-3
Run Code Online (Sandbox Code Playgroud)

它是一个java/spring/hibernate应用程序.stacktrace上有两个令人不安的错误

Dec 27, 2012 2:22:37 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [spring] in context with path [] threw exception [Handler processing failed; nested exception is java.lang.OutOfMemoryError: PermGen space] with root cause
java.lang.OutOfMemoryError: PermGen space
Run Code Online (Sandbox Code Playgroud)

其次是

Dec 27, 2012 2:22:38 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [spring] in context with path [] threw exception [java.lang.ClassNotFoundException: org.apache.jsp.jsp.myLogin_jsp] with root cause
java.lang.ClassNotFoundException: org.apache.jsp.jsp.myLogin_jsp
Run Code Online (Sandbox Code Playgroud)

这是在我的IDE之外,当我使用intellij运行它工作正常...?

在我的启动脚本中设置CATALINA_OPTS修复了问题,为什么?

par*_*lov 5

添加例如-XX:MaxPermSize = 128M JVM参数,并查看发生了什么.

你做了一件有趣的事.它在这里被破坏.不久,战争会更小,但运行时内存消耗会更高.