一尘不染

在Tomcat上安装Sonar和Jenkins

tomcat

我有一个tomcat服务器,希望在其上安装Jenkins和Sonar。我正在进行debian发行,因此我通过apt-
get获得了tomcat6和Jenkins。当我将jenkins.war复制到tomcat6 /
webapps目录时,一切运行正常。但是,当我将sonar.war复制到tomcat6 /
webapps时,声纳工作正常,但是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下载声纳,设置数据库配置并建立战争来安装了声纳。

有谁知道为什么会这样并且有解决方案?


阅读 280

收藏
2020-06-16

共1个答案

一尘不染

您的例外情况是:

PermGen space
org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112)

permgen有问题:

当JVM永久生成堆中的空间不足时,会发生此错误

要修复该错误,您需要将-XX:MaxPermSize=<Y>m<Y>所需的内存放在)CATALINA_OPTS环境变量中。

您如何实现的?遵循本文(例如):

如何增加应用服务器中的内存?

2020-06-16