【问题标题】:spring boot: StoredCredential (Permission denied)春季启动:StoredCredential(权限被拒绝)
【发布时间】:2015-11-09 01:19:36
【问题描述】:

ubuntu tomcat上使用spring boot,war包。凭证文件打包在resources/credentials/gmail中,但是我的邮件服务抛出这个错误:

"/var/lib/tomcat8/webapps/ROOT/WEB-INF/classes/credentials/gmail/StoredCredential (Permission denied)"

我该如何解决这个错误?

我用 apt-get 安装了 tomcat8,我相信它创建了一个 tomcat8 用户和组...它与文件夹的用户权限有关吗?

编辑:

2015-11-08 12:12:33.245 ERROR 12664 --- [cat-startStop-1] org.apache.catalina.core.ContainerBase   : A child container failed during start

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
        ... 6 common frames omitted
Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.addServlet(Ljava/lang/String;Ljavax/servlet/Servlet;)Ljavax/servlet/ServletRegistration$Dynamic;
        at org.springframework.boot.context.embedded.ServletRegistrationBean.onStartup(ServletRegistrationBean.java:189)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.selfInitialize(EmbeddedWebApplicationContext.java:221)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.access$000(EmbeddedWebApplicationContext.java:84)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext$1.onStartup(EmbeddedWebApplicationContext.java:205)
        at org.springframework.boot.context.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:54)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5170)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 6 common frames omitted

【问题讨论】:

  • 如果您以java -jar myapplication.war 开头会发生什么。这就是spring boot的优势,不需要依赖平台tomcat8安装配置
  • 添加到编辑:,应用程序无法以 app.war 启动。虽然我通常运行解压缩到 ROOT 文件夹的战争,以便可以写入/读取凭证文件?如果我错了,请纠正我..
  • 你删掉了堆栈跟踪的重要部分。 Unable to start embedded Tomcat... 然后呢?可能是因为“地址已被使用”?

标签: java spring ubuntu spring-boot tomcat8


【解决方案1】:

使用 winscp,导航到凭据文件夹并递归地将(其他)R W X 权限应用于文件夹 +。 tomcat8 现在可以访问/编辑里面的凭证文件了。

【讨论】:

    猜你喜欢
    • 2016-10-03
    • 2020-08-09
    • 1970-01-01
    • 2016-01-21
    • 2014-10-19
    • 2013-10-27
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多