我有一个 tomcat 服务器,我想在上面安装 Jenkins 和 Sonar。我使用的是 debian 发行版,因此我通过 apt-get 获得了 tomcat6 和 Jenkins。当我将 jenkins.war 复制到 tomcat6/webapps 目录时,一切运行正常。但是,当我将 sonar.war 复制到 tomcat6/webapps 时,sonar 工作正常,但 jenkins 抛出错误 500:
javax.servlet.ServletException: org.apache.commons.jelly.JellyTagException: jar:file:/var/lib/tomcat6/webapps/jenkins/WEB-INF/lib/jenkins-core-1.435.jar!/hudson/model/View/index.jelly:39:43: <st:include> PermGen space
org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112)
org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:124)
org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:550)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:612)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
org.kohsuke.stapler.Stapler.service(Stapler.java:159)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
我还安装了管理器(tomcat6-admin),当我添加 sonar.war 时管理器也失败了。
我通过从 codehaus 下载声纳、设置数据库配置并构建战争来安装声纳。
有谁知道为什么会发生这种情况并且可能有解决方案?
在你的例外中,它出现:
PermGen space
org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112)
permgen 有问题:
当 JVM 的永久生成堆空间不足时,会出现此错误
要修复该错误,您需要将-XX:MaxPermSize=<Y>m
(where <Y>
是您想要的内存)在CATALINA_OPTS环境变量中。
你如何实现这一目标?按照这篇文章(例如):
如何增加应用程序服务器的内存? http://wiki.webratio.com/index.php/How_can_I_increase_memory_in_my_application_server%3F
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)