在Gentoo上部署Sonatype Nexus到Tomcat6的麻烦(log4j)

时间:2010-05-31 16:03:13

标签: tomcat log4j nexus

我在Gentoo上运行tomcat-6服务器。我无法将Nexus部署到我的tomcat服务器(来自sonatype网站的nexus-war,以及通过emerge的tomcat6)。启动Nexus时,localhost日志显示以下内容:


May 31, 2010 6:50:52 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.sonatype.nexus.web.LogConfigListener
java.lang.IllegalStateException: Could not create default log4j.properties into /dev/null/sonatype-work/nexus/conf/log4j.properties
        at org.sonatype.nexus.web.LogConfigListener.ensureLogConfigLocation(LogConfigListener.java:130)
        at org.sonatype.nexus.web.LogConfigListener.contextInitialized(LogConfigListener.java:53)
        at org.apache.catalina.core.StandardContext.listenerStart(Unknown Source)
        at org.apache.catalina.core.StandardContext.start(Unknown Source)
        at org.apache.catalina.core.ContainerBase.addChildInternal(Unknown Source)
        at org.apache.catalina.core.ContainerBase.addChild(Unknown Source)
        at org.apache.catalina.core.StandardHost.addChild(Unknown Source)
        at org.apache.catalina.startup.HostConfig.deployWAR(Unknown Source)
        at org.apache.catalina.startup.HostConfig.deployWARs(Unknown Source)
        at org.apache.catalina.startup.HostConfig.deployApps(Unknown Source)
        at org.apache.catalina.startup.HostConfig.start(Unknown Source)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(Unknown Source)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Unknown Source)
        at org.apache.catalina.core.ContainerBase.start(Unknown Source)
        at org.apache.catalina.core.StandardHost.start(Unknown Source)
        at org.apache.catalina.core.ContainerBase.start(Unknown Source)
        at org.apache.catalina.core.StandardEngine.start(Unknown Source)
        at org.apache.catalina.core.StandardService.start(Unknown Source)
        at org.apache.catalina.core.StandardServer.start(Unknown Source)
        at org.apache.catalina.startup.Catalina.start(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Unknown Source)
        at org.apache.catalina.startup.Bootstrap.main(Unknown Source)
Caused by: java.io.FileNotFoundException: /dev/null/sonatype-work/nexus/conf/log4j.properties (Not a directory)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.(FileOutputStream.java:179)
        at java.io.FileOutputStream.(FileOutputStream.java:131)
        at org.codehaus.plexus.util.FileUtils.copyStreamToFile(FileUtils.java:1058)
        at org.codehaus.plexus.util.FileUtils.copyURLToFile(FileUtils.java:1018)
        at org.sonatype.nexus.web.LogConfigListener.ensureLogConfigLocation(LogConfigListener.java:126)
        ... 25 more

由于某种原因,它在/ dev / null中查找sonatype-work文件夹。我一直无法找到解决这个问题的方法。 log4j.properties位于/var/lib/tomcat-6/webapps/nexus-webapp-1.6.0/WEB-INF/log4j.properties中,包含以下内容:

log4j.rootLogger=INFO, console
# CONSOLE
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.sonatype.nexus.log4j.ConcisePatternLayout
log4j.appender.console.layout.ConversionPattern=%4d{yyyy-MM-dd HH:mm:ss} %-5p - %c - %m%n

以前有人不得不处理这件事吗?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

这是一个新的。在战争中,sonatype-work文件夹应默认为〜/ sonatype-work,因此如果您的环境没有user.home,这可能会导致您看到的内容。您可以尝试使用环境变量更改该默认值,有关详细信息,请参阅here。如果您仍然遇到问题,请在nexus用户列表上ping我们以获得更直接的支持。