首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring + HSQLDB/H2总是在Windows 10上显示“已在使用的端口”

Spring + HSQLDB/H2总是在Windows 10上显示“已在使用的端口”
EN

Stack Overflow用户
提问于 2016-08-02 21:46:19
回答 3查看 944关注 0票数 4

我正在开发Spring应用程序,当我尝试使用嵌入式数据库(HSQLDB或H2、内存中或文件)运行应用程序时,即使没有使用端口,我也会收到以下错误:

代码语言:javascript
复制
org.apache.catalina.LifecycleException: Failed to start component [Connector[HTTP/1.1-9080]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:158) ~[tomcat-embed-core-8.5.4.jar:8.5.4]
    at org.apache.catalina.core.StandardService.addConnector(StandardService.java:225) ~[tomcat-embed-core-8.5.4.jar:8.5.4]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors(TomcatEmbeddedServletContainer.java:234) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:179) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:297) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:145) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544) [spring-context-4.3.2.RELEASE.jar:4.3.2.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:369) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:313) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1185) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1174) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE]
    at br.com.mixavionics.GsmApplication.main(GsmApplication.java:10) [classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_91]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_91]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_91]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_91]
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-1.4.0.RELEASE.jar:1.4.0.RELEASE]
Caused by: org.apache.catalina.LifecycleException: service.getName(): "Tomcat";  Protocol handler start failed
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1042) ~[tomcat-embed-core-8.5.4.jar:8.5.4]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152) ~[tomcat-embed-core-8.5.4.jar:8.5.4]
    ... 18 common frames omitted
Caused by: java.io.IOException: Unable to establish loopback connection
    at sun.nio.ch.PipeImpl$Initializer.run(Unknown Source) ~[na:1.8.0_91]
    at sun.nio.ch.PipeImpl$Initializer.run(Unknown Source) ~[na:1.8.0_91]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_91]
    at sun.nio.ch.PipeImpl.<init>(Unknown Source) ~[na:1.8.0_91]
    at sun.nio.ch.SelectorProviderImpl.openPipe(Unknown Source) ~[na:1.8.0_91]
    at java.nio.channels.Pipe.open(Unknown Source) ~[na:1.8.0_91]
    at sun.nio.ch.WindowsSelectorImpl.<init>(Unknown Source) ~[na:1.8.0_91]
    at sun.nio.ch.WindowsSelectorProvider.openSelector(Unknown Source) ~[na:1.8.0_91]
    at java.nio.channels.Selector.open(Unknown Source) ~[na:1.8.0_91]
    at org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector(NioSelectorPool.java:66) ~[tomcat-embed-core-8.5.4.jar:8.5.4]
    at org.apache.tomcat.util.net.NioSelectorPool.open(NioSelectorPool.java:130) ~[tomcat-embed-core-8.5.4.jar:8.5.4]
    at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:247) ~[tomcat-embed-core-8.5.4.jar:8.5.4]
    at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:874) ~[tomcat-embed-core-8.5.4.jar:8.5.4]
    at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:573) ~[tomcat-embed-core-8.5.4.jar:8.5.4]
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1035) ~[tomcat-embed-core-8.5.4.jar:8.5.4]
    ... 19 common frames omitted
Caused by: java.net.SocketException: Permission denied: connect
    at sun.nio.ch.Net.connect0(Native Method) ~[na:1.8.0_91]
    at sun.nio.ch.Net.connect(Unknown Source) ~[na:1.8.0_91]
    at sun.nio.ch.Net.connect(Unknown Source) ~[na:1.8.0_91]
    at sun.nio.ch.SocketChannelImpl.connect(Unknown Source) ~[na:1.8.0_91]
    at java.nio.channels.SocketChannel.open(Unknown Source) ~[na:1.8.0_91]
    at sun.nio.ch.PipeImpl$Initializer$LoopbackConnector.run(Unknown Source) ~[na:1.8.0_91]
    ... 34 common frames omitted

我尝试了-Djava.net.preferIPv4Stack=true选项,更改了端口,也禁用了防火墙,但没有成功(我是机器管理员)。在我的Linux机器(Linux )上,应用程序(使用HSQLDB/H2)运行得很好,没有错误,并且在我的Windows 10机器上运行应用程序时有一个MySql服务器,应用程序也运行正常.

我漏掉了什么?

我的application.properties文件:

代码语言:javascript
复制
spring.datasource.url = jdbc:hsqldb:mem:test
#spring.datasource.url = jdbc:hsqldb:file:./database/database
spring.datasource.driver-class-name=org.hsqldb.jdbc.JDBCDriver
spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect
spring.datasource.username = sa
spring.datasource.password = sa

我的pom.xml依赖项:

代码语言:javascript
复制
<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>
EN

Stack Overflow用户

发布于 2016-08-03 09:47:48

Spring配置没有什么问题,这可能是权限问题;您能以管理员的身份运行IDE吗?另外,如果您从终端运行应用程序,请尝试以管理员身份运行命令提示符,然后尝试运行该应用程序。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38731031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档