tomcat[Ubuntu]-警告:所选目录不是有效的tomcat主目录

tomcat[Ubuntu]-警告:所选目录不是有效的tomcat主目录,ubuntu,tomcat,intellij-idea,Ubuntu,Tomcat,Intellij Idea,我已经在我的电脑上安装了Tomcat9(在Ubuntu 16.04上) 我还成功地在8080端口启动了服务器 问题是,当我试图配置Intellij IDEA以运行Tomcat服务器时,它抛出以下错误: 我不知道Tomcat home:opt/Tomcat的问题是什么,因为我的电脑上没有其他Tomcat文件夹,如图所示,它工作得非常好。我已经尝试过放置内部的opt/tomcat文件夹,比如tomcat home:opt/tomcat/bin或tomcat home:opt/tomcat/li

我已经在我的电脑上安装了Tomcat9(在Ubuntu 16.04上)

我还成功地在8080端口启动了服务器

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


我不知道Tomcat home:opt/Tomcat的问题是什么,因为我的电脑上没有其他Tomcat文件夹,如图所示,它工作得非常好。我已经尝试过放置内部的
opt/tomcat
文件夹,比如
tomcat home:opt/tomcat/bin
tomcat home:opt/tomcat/lib
(可执行文件所在的位置),但它也不起作用。

IntelliJ IDEA支持来自的官方发行版的标准tomcat布局。包管理器安装的特定于操作系统的发行版可能具有非标准布局。我们建议下载并使用官方发行版。至少你可以将它与你所拥有的东西进行比较,找出丢失的东西或位于不同的地方

还要检查您是否具有当前的IDE版本。我已经使用IntelliJ IDEA 2017.2.1进行了验证,目前最新的Tomcat 9版本(9.0.0.M26)也可以在上获得,并且运行良好:

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

创建一个单独的用户并限制权限,因为这仅适用于对公众开放的生产服务器。这是一种很好的安全措施,可以在服务器受损或JVM、应用程序服务器或在此服务器上运行的应用程序中发现任何安全漏洞的情况下限制对系统可能造成的危害。

您可以这样尝试:
xxx@yyyyyyy:cd/opt/tomcat

xxx@yyyyyyy:/opt/tomcat$sudo chmod-R 777./

您是否使用来自的当前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
中的任何文件。有关详细信息,请参阅。您需要使用
chmod
命令递归地为所有文件和文件夹授予
read
权限以
others
,并为
exec
x
)权限以
bin/*.sh文件
。在不更改权限的情况下重新解压缩。这是Unix上常见的安全措施。如果您的应用程序服务器(或任何一般服务)允许公众访问,并且受到威胁,攻击者不会对系统造成太大伤害,因为他只能在
tomcat
jetty
用户的有限权限下执行操作,该用户通常已禁用登录shell,并且无法修改任何系统关键文件。如果您出于开发目的使用应用程序服务器,并且该应用程序服务器未向公众开放,则不需要创建单独的用户来运行该服务器。尽管这将解决权限问题,但不建议您将整个tomcat目录设置为此打开状态。这尤其不安全。请尝试以下解决方案: