zoukankan      html  css  js  c++  java
  • linux tomcat部署 之 jre

     这两天需要在ubantu服务器部署一下tomcat, 本以为轻轻松松就能搞定的事情但是一直不能成功,就tomcat的安装步骤其实就是下载解压的工程,奈何,每次  运行 ./startup.sh之后 显示的都是

      using: ...

      using:...

      tomcat started.

     之后的第一反应就是看看是不是端口被占用了,然后使用 netstat -ap | grep 8080,查看之后没有显示,就以为端口这边没有问题,没有仔细查看,之后就是重复的更换tomcat的版本了(后来自己意识到这是多么错误的想法,最根本的问题应该是在自己),每次都出现重复的工作之后,无意间看到了一个人的博客说:查看一下自己logs文件夹下面的文件看看是不是端口被占用了,才想起来查看日志文件,一看吓一跳,日志文件竟然只有赤裸裸的一句话“

    ./catalina.sh: 1: eval: /opt/jdk/jre/bin/java: not found
    

     自己也是很好奇,自己已经在电脑上装过jdk了,理应包含jre(java runtime enviroment)的,而且自己之前一直也在用idea写java程序没有出现jre的问题,但是去jdk安装目录查看了一下,发现确实没有安装jre,就去官网单独下载了jre放到了jdk的安装目录下面,之后重新启动tomcat发现还是started,但是无法访问,又查看了一下logs文件夹,发现logs文件下面额文件变多了,意识到自己可能快要成功就查看了一下 catalina.out日志文件,看了之后发现正常启动额过程中 8080 端口已经被占用了:

    java.net.BindException: Address already in use (Bind failed) <null>:8080
            at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:413)
            at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:728)
            at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:452)
            at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
            at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
            at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
            at org.apache.catalina.core.StandardService.initInternal(StandardService.java:560)
            at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
            at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:840)
            at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:654)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:679)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.base/java.lang.reflect.Method.invoke(Unknown Source)
            at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:253)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:427)
    Caused by: java.net.BindException: Address already in use (Bind failed)
            at java.base/java.net.PlainSocketImpl.socketBind(Native Method)
            at java.base/java.net.AbstractPlainSocketImpl.bind(Unknown Source)
            at java.base/java.net.ServerSocket.bind(Unknown Source)
            at java.base/java.net.ServerSocket.<init>(Unknown Source)
            at java.base/java.net.ServerSocket.<init>(Unknown Source)
            at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
            at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:400)
            ... 17 more
    

     对于java这种一个错误报一大堆错误的。。。。有时候挺无奈的。  好在最后找到的错误的原因,就是安装tomcat可以没有jdk但是必须要有jre.

  • 相关阅读:
    如何下载网络图片资源
    经典排序之快速排序(含红黑树)
    经典排序之归并排序
    node微信公众号开发---自动回复
    koa2的文件上传
    async await的用法
    Generator yield语法和 co模块
    CentOS 7 下安装 Nginx
    windows下nginx的安装及使用方法入门
    linux下nodejs安装以及如何更新到最新的版本
  • 原文地址:https://www.cnblogs.com/mxk-star/p/8688932.html
Copyright © 2011-2022 走看看