【问题标题】:tomcat [Ubuntu] - Warning: The selected directory is not a valid Tomcat hometomcat [Ubuntu] - 警告:所选目录不是有效的 Tomcat 主目录
【发布时间】:2017-08-09 22:40:05
【问题描述】:

我已经在我的 PC 上安装了 Tomcat 9(在 Ubuntu 16.04 上)。

我也在8080端口成功启动了服务器。

问题是,当我尝试将 Intellij IDEA 配置为运行 Tomcat 服务器时,它会抛出以下错误:

我不知道Tomcat home: opt/tomcat 的问题是什么,因为我的PC 上没有其他tomcat 文件夹,如图所示,它运行良好。我曾尝试放置内部 opt/tomcat 文件夹,例如 Tomcat home: opt/tomcat/binTomcat home: opt/tomcat/lib(可执行文件所在的位置),但它也不起作用。

【问题讨论】:

标签: ubuntu tomcat intellij-idea


【解决方案1】:

IntelliJ IDEA 支持来自https://tomcat.apache.org 的官方发行版的标准 Tomcat 布局。包管理器安装的操作系统特定发行版可能具有非标准布局。我们建议下载并使用官方发行版。至少您可以将其与您必须找出的东西进行比较,以找出丢失或位于不同位置的东西。

还要检查您是否拥有当前的 IDE 版本。我已经通过http://www.jetbrains.com/idea/download/index.html 提供的 IntelliJ IDEA 2017.2.1 以及目前可用的最新 Tomcat 9 版本 (9.0.0.M26) 进行了验证,并且它工作正常:

在您的特定情况下,IntelliJ IDEA 无法从服务器安装目录读取文件,因为运行 IDE 的用户对服务器安装目录没有任何权限。出于开发目的,只需将服务器分发下载并解压缩到您的主目录中,而无需更改此目录的任何权限就足够了。这样 IDE 将能够读取文件并使用此安装。

只有对公众开放的生产服务器才需要创建单独的用户并将权限限制为described in the guide you've followed。这是一种很好的安全措施,可以在服务器受到威胁或在 JVM、应用服务器或在此服务器上运行的应用程序中发现任何安全漏洞时限制对系统可能造​​成的损害。

【讨论】:

  • 您是否使用来自jetbrains.com/idea/download/index.html 的当前 IntelliJ IDEA 版本?
  • 您下载了apache-tomcat-9.0.0.M26.tar.gz 文件吗?您是否使用tar -xzvf apache-tomcat-9.0.0.M26.tar.gz 将其解压缩到新的空目录中?请提供ls -lR /opt/tomcat 的输出。 IntelliJ IDEA 是否有权限在这个目录下读取和执行?
  • 您已设置权限,以便您当前运行 IntelliJ IDEA 的用户无法读取 /opt/tomcat 中的任何文件。有关详细信息,请参阅here。您需要以递归方式将所有文件和文件夹的read 权限授予others,并使用chmod 命令将exec (x) 权限授予bin/*.sh files
  • 在不改变权限的情况下重新解压。
  • 这是 Unix 上常见的安全措施。如果您的应用服务器(或一般的任何服务)允许公共访问并受到威胁,则攻击者将无法对系统造成很大损害,因为他只能在 @ 的有限权限下执行操作987654340@ 或 jetty 用户,通常禁用登录 shell,不能修改任何系统关键文件。如果您将应用服务器用于开发目的并且不向公众开放,则无需创建单独的用户来运行服务器。
【解决方案2】:

你可以试试这个方法:
xxx@yyyyyyy:cd /opt/tomcat
xxx@yyyyyyy:/opt/tomcat$ sudo chmod -R 777 ./

【讨论】:

  • 虽然这会解决权限问题,但不建议您将整个 tomcat 目录设置为这样打开。这特别不安全。
猜你喜欢
  • 2016-01-08
  • 2020-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多