Maven Build要求提供日志文件和(权限被拒绝)

问题描述 投票:0回答:2

我有一个我从GitHub下载的开源Maven项目。该项目名为ElasticInbox(https://github.com/elasticinbox/elasticinbox.git)。

当我尝试构建项目时,我收到以下错误:

ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - openFile(/var/log/elasticinbox/elasticinbox.log,true) call failed. java.io.FileNotFoundException: /var/log/elasticinbox/elasticinbox.log (Permission denied)
at java.io.FileNotFoundException: /var/log/elasticinbox/elasticinbox.log (Permission denied)
at  at java.io.FileOutputStream.open0(Native Method)
at  at java.io.FileOutputStream.open(FileOutputStream.java:270)
at  at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at  at ch.qos.logback.core.recovery.ResilientFileOutputStream.<init>(ResilientFileOutputStream.java:28)
at  at ch.qos.logback.core.FileAppender.openFile(FileAppender.java:149)
at  at ch.qos.logback.core.FileAppender.start(FileAppender.java:108)
at  at ch.qos.logback.core.rolling.RollingFileAppender.start(RollingFileAppender.java:72)
at  at ch.qos.logback.core.joran.action.AppenderAction.end(AppenderAction.java:96)
at  at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:318)
at  at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:197)
at  at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:183)
at  at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62)
at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:157)
at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:143)
at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:106)
at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:56)
at  at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
at  at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:148)
at  at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:85)
at  at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)
at  at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128)
at  at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:107)
at  at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:295)
at  at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:269)
at  at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:281)
at  at org.ops4j.pax.web.extender.war.internal.Activator.<clinit>(Activator.java:58)
at  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at  at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at  at java.lang.Class.newInstance(Class.java:442)
at  at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:151)
at  at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:751)
at  at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
at  at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
at  at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
at  at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
at  at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
at  at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
at  at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
at  at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
at  at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
at  at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

最初错误是找不到文件然后我通过终端手动创建了这个日志文件。据我了解,这不是正在执行的项目代码。它似乎是maven构建,抛出这个错误,我无法继续前进。

有人可以帮我解决这个问题吗?

java eclipse git maven openstack
2个回答
0
投票

因为不会与他人共享对文件位置的访问权限。因此,您将获得许可拒绝问题。

logback.xml文件中,https://github.com/elasticinbox/elasticinbox/blob/master/config/logback.xml指定了日志文件的位置。尝试更改其用户目录的路径,它应该工作。


0
投票

刚遇到完全相同的问题,您可以进行以下检查:

  1. 确保path是正确的 - 以/为前缀意味着绝对;
  2. 当前用户有权写入文件 - 用sudo ls -alh path_to_the_file检查,如果没有,则使用sudo chown -R user:user the_parent_folder_name进行更改;

我通过首先删除整个文件夹来修复它,然后创建一个具有适当所有者的新文件夹。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.