oracle 8080端口问题

启动Tomcat时遇到'Address already in use: JVM_Bind:8080'错误,原因是Oracle默认启用的XML DB占用8080端口。解决方案包括检查并调整Oracle配置,释放端口,确保与其他Web服务器的端口冲突得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      今天再启动tomcat时,出现了如下的错误:

java.net.BindException: Address already in use: JVM_Bind:8080
 at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:297)
 at org.apache.coyote.http11.Http11BaseProtocol.init(Http11BaseProtocol.java:141)
 at org.apache.catalina.connector.Connector.initialize(Connector.java:1016)
 at org.apache.catalina.core.StandardService.initialize(StandardService.java:580)
 at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:782)
 at org.apache.catalina.startup.Catalina.load(Catalina.java:503)
 at org.apache.catalina.startup.Catalina.load(Catalina.java:523)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:247)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
      刚开始我以前是刚才对tomcat执行shutdown时,还没执行完全,我重新执行了一次shutdown.bat,再重新启动起来,可是错误依旧。我重新检查其他的应用程序,看是哪个占用了8080端口。后来去网上查了,知道了是oracle也默认启用了8080端口。

      因为Oracle 默认的XML DB把HTTP的默认端口设为8080,很多别的WebServer都会使用这个端口,如是找了一些方法,特列出来供大家参考。

方法一:修改Tomcat的端口号
打开Tomcat目录-->Tomcat 5.5-->conf-->下的server.xml文件,修改端口如下:
============================================================================
<Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
============================================================================
方法二:修改Oracle的端口号
============================================================================
用system用户登录PL/SQL
执行
SQL>call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()',新的端口号));
commit;
即可
============================================================================
看了网上使用Jboss也会出现这样的情况,同时也把此端口的修改方法贴出来。
方法三:<1>  Jboss4.0.2的端口
打开JBOSS目录-->jboss-4.0.2-->server-->default-->deploy--> jbossweb-tomcat55.sar下的server.xml文件,修改端口如下:
============================================================================
<Connector port="8080" address="${jboss.bind.address}"
         maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
         emptySessionPath="true"
         enableLookups="false" redirectPort="8443" acceptCount="100"
         connectionTimeout="20000" disableUploadTimeout="true"/>
============================================================================
<2> jboss-4.2.2.GA的端口的修改
打开JBOSS目录-->jboss-4.2.2.GA-->server-->default-->deploy-->jboss-web.deployer-->下的server.xml文件,修改如下:
<Connector port="8080" address="${jboss.bind.address}"   
         maxThreads="250" maxHttpHeaderSize="8192"
         emptySessionPath="true" protocol="HTTP/1.1"
         enableLookups="false" redirectPort="8443" acceptCount="100"
         connectionTimeout="20000" disableUploadTimeout="true" />
============================================================================
关于Oracle的  OEM管理页面  路径问题
可以在开始-->运行-->cmd 虚拟DOS下查看
 
这个端口修改的方法我没有找到,如有知道的请贴出来,谢了!
=============================================================================
D:>emctl stop dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0
Copyright (c) 1996, 2004 Oracle Corporation.  All rights reserved.
http://机器名:5500/em/console/aboutApplication
OracleDBConsoleORADB 服务正在停止.......
OracleDBConsoleORADB 服务已成功停止。
 
D:>emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0
Copyright (c) 1996, 2004 Oracle Corporation.  All rights reserved.
http://机器名:5500/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoleORADB
服务正在启动 .........
OracleDBConsoleORADB 服务已经启动成功。
其中 http://机器名:5500/em 就是Oracle的OEM管理页面
其实在开启就是服务里面的OracleDBConsoleORADB服务,只不过我是在虚拟DOS下运行,这样就可以查看到我们需要的路径了。
==================================================================================

还有OracleOraDb10g_home1TNSListener服务没有打开,
提示OracleOraDb10g_home1TNSListener服务启动异常,显示适配器错误。原因就是:
OracleOraDb10g_home1TNSListener 注册表的中ImagePath键值丢失。
解决方案:
在注册表项KEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesOracleOraDb10g_home1TNSListener中
添加ImagePath键值:D:oracleproduct.2.0db_1BINTNSLSNR.EXE
再启动服务即可。
注意:键值:D:oracleproduct.2.0db_1BINTNSLSNR.EXE是根据你装10g的路径找到TNSLSNR.EXE这个文
件的路径,可能会有所不同,自己看一下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值