IntelliJIdea:无法加载/home/.../conf/server.xml:

时间:2016-07-13 16:38:12

标签: tomcat intellij-idea

我的IDE遇到问题Idea 2016.1

它说:

  

运行run spring时出错:无法加载   /home/sergei-rudenkov/.IntelliJIdea2016.1/system/tomcat//conf/server.xml:   /home/sergei-rudenkov/.IntelliJIdea2016.1/system/tomcat//conf/server.xml   (没有这样的文件或目录)

实际上我的tomcat位于/opt/tomcat目录,idea位于此位置。这个例外的原因是什么?

2 个答案:

答案 0 :(得分:1)

首先,请务必了解TOMCAT_HOMETOMCAT_BASE之间的区别。这个SO答案提供了一个很好的描述:https://stackoverflow.com/a/29398713/1348743

考虑到这一点,IDEA如何为Tomcat运行配置创建TOMCAT_BASE目录的一些解释...... 创建Tomcat运行/调试配置时,IntelliJ IDEA会将TOMCAT_BASE目录创建为{intellij_system_directory}\tomcat\{run_configuration_name}_{project_name}。 (TOMCAT_HOME标识二进制文件的位置,TOMCAT_BASE定义tomcat实例的位置。有时它们是相同的。在这种情况下,它们不是。){intellij_system_directory}目录通常是在~/.IntelliJIdea2016.1/system。有关详细信息,请参阅Directories used by the IDE to store settings, caches, plugins and logs

这就是道路的原因所在。但看起来您的路径(正如您在消息中显示的那样)缺少运行配置部分:.../tomcat//conf/...这应该类似于.../tomcat/foo_bar/conf/...。所以看起来配置已经腐败了。有一个错误,IDEA-133536,我在几年前报道过,在某些条件下会出现这种类型的腐败现象。你可能正在打那个。

有两种可能的解决方案:

  1. 重新创建运行/调试配置,确保在首次创建和保存时为其指定唯一名称
  2. 手动编辑运行/调试配置文件并修改BASE_DIRECTORY_NAME选项的值(只搜索该字符串)。如果您已共享运行/调试配置(通过右上角的“共享”选项),则配置文件将位于${project_directory}/.idea/runConfigurations/${runConfigurationName}.xml中。如果未共享,则它将位于文件${project_directory}/.idea/workspace.xml中。您应该在编辑其中任何一个文件之前关闭项目(并根据具体情况进行备份)。
  3. 有关其他信息,请查看我的帖子:https://intellij-support.jetbrains.com/hc/en-us/community/posts/206837735--How-To-Specify-Tomcat-Cache-Directory-For-Webapp#community_comment_206857039

答案 1 :(得分:0)

对我而言,问题在于我java指向JDK而不是JRE - 因为新项目需要JDK。 所以旧项目停止了建设,并给出了上述错误。

返回java以指回JRE后 - 旧项目构建正常。

=====

所以:

  1. 处理新项目时 - java => JDK
  2. 处理旧项目时 - java => JRE
  3. :d