苦艾甘醴 2024-04-03 10:00 采纳率: 0%
浏览 194

IDEA中Tomcat服务器启动不成功—java.io.FileNotFoundException: D:\tomcat9.0\bin\conf\server.xml (系统找不到指定的路径)

求指点迷津!在IDEA中部署springboot项目用到Tomcat服务器,但是Tomcat启动不成功
我的环境:
IDEA:2021,
JDK:1.8,
Tomcat:9.0
问题如下:
03-Apr-2024 09:30:19.469 警告 [main] org.apache.catalina.startup.Catalina.parseServerXml 无法从[D:\tomcat9.0\bin\conf\server.xml]加载服务器配置
    java.io.FileNotFoundException: D:\tomcat9.0\bin\conf\server.xml (系统找不到指定的路径。)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(FileInputStream.java:195)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at java.io.FileInputStream.<init>(FileInputStream.java:93)
        at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
        at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
        at org.apache.catalina.startup.CatalinaBaseConfigurationSource.getResource(CatalinaBaseConfigurationSource.java:118)
        at org.apache.tomcat.util.file.ConfigurationSource.getConfResource(ConfigurationSource.java:150)
        at org.apache.tomcat.util.file.ConfigurationSource.getServerXml(ConfigurationSource.java:127)
        at org.apache.catalina.startup.CatalinaBaseConfigurationSource.getServerXml(CatalinaBaseConfigurationSource.java:52)
        at org.apache.catalina.startup.Catalina.parseServerXml(Catalina.java:568)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:671)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:709)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:302)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:472)
03-Apr-2024 09:30:19.472 严重 [main] org.apache.catalina.startup.Catalina.start 无法启动服务器,服务器实例未配置
已与服务器断开连接

问题在于第二行,如图:

img

而事实上我的server.xml文件在tomcat9.0\conf下面(如下图1),bin目录与conf目录是并列的,并不是包含关系(如下图2)。IDEA与系统中展示的不一样,IDEA中是错误的,同时我也不敢贸贸然地把conf目录直接拖拽到bin目录之下(自己也生怕会出现什么错误或后果……❌)。大家帮忙看看我该如何修改吗?┭┮﹏┭┮

img

img

感激不尽!
  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-03 10:00
    关注

    引自免费微信小程序:皆我百晓生

    首先,你需要确认的是D:\tomcat9.0\bin\conf\server.xml是否正确。如果不是,请按照以下步骤操作:

    1. 打开IDEA。
    2. 在顶部菜单栏选择"Window" -> "Preferences" -> "Java Build Path"。
    3. 在左侧菜单栏找到并点击"编辑"按钮。
    4. 在右侧菜单栏中点击"Additional Libraries"选项卡。
    5. 点击 "+" 按钮添加新库。
    6. 在搜索框中输入 " tomcat-xml", 点击 "Next"。
    7. 在右侧选择 "Java Classpath",点击 "Next"。
    8. 在右侧选择 "JDK Version",点击 "Next"。
    9. 在右侧选择 "User JARs",点击 "Next"。
    10. 在右侧选择 "Libraries" ,然后点击 "Add Library"。
    11. 确认 添加的库为正确的版本号后点击 "Finish"。

    现在,确保Tomcat在配置文件下确实有默认的 CATALINA_HOMECATALINA_BASE 设置。如果没有,请创建一个默认的路径。接下来,我们需要创建一个新的虚拟机并运行Tomcat。

    创建一个新的虚拟机:

    1. 打开终端或命令提示符。

    2. 使用以下命令将您的计算机设置为开发主机:

      hostnamectl set-hostname your_host_name
      hostnamectl set-hostname your_host_name ip_address
      

      其中,your_host_name 是你的计算机名称。将上述命令中的 "your_host_name" 替换为你要使用的实际计算机名。

      或者如果您正在使用Vagrant,可以在 config/vagrant清洁能源技术指南 中找到有关如何转换机器类型的信息。

    运行虚拟机:

    1. 使用以下命令启动虚拟机:

      vagrant up -d
      

      启动完成后,您将在本地计算机上看到一个新的虚拟机图标。默认情况下,它会显示为 "vagrant@localhost",并且您可以通过浏览器访问 http://localhost:8080 来查看您的Tomcat容器。

    2. 安装所需的依赖项以支持 Tomcat 的集成开发环境 (IDE)。

    3. 如果您之前没有安装IDEA,您可以使用以下命令下载并安装:

      https://www.jetbrains.com/idea/download
      

      下载完成后,双击 "IntelliJ IDEA Community Edition",根据屏幕上的指示进行安装。

    以上就是解决您遇到的问题的一般步骤。若仍有其他问题,请提供更多的上下文信息和截图,以便我能更好地为您提供帮助。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月3日

悬赏问题

  • ¥15 关于#vue.js#的问题:word excel和ppt预览问题语言-javascript)
  • ¥15 Apache显示系统错误3该如何解决?
  • ¥30 uniapp小程序苹果手机加载gif图片不显示动效?
  • ¥20 js怎么实现跨域问题
  • ¥15 C++dll二次开发,C#调用
  • ¥15 请教,如何使用C#加载本地摄像头进行逐帧推流
  • ¥15 Python easyocr无法顺利执行,如何解决?
  • ¥15 为什么会突然npm err!啊
  • ¥15 java服务连接es读取列表数据,服务连接本地es获取数据时的速度很快,但是换成远端的es就会非常慢,这是为什么呢
  • ¥15 vxworks交叉编译gcc报错error: missing binary operator before token "("