Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse中的端口已在使用8080错误提示,但它在运行时在web浏览器中的端口8080上工作_Java_Eclipse_Spring Boot_Pom.xml_Spring Boot Maven Plugin - Fatal编程技术网

Java Eclipse中的端口已在使用8080错误提示,但它在运行时在web浏览器中的端口8080上工作

Java Eclipse中的端口已在使用8080错误提示,但它在运行时在web浏览器中的端口8080上工作,java,eclipse,spring-boot,pom.xml,spring-boot-maven-plugin,Java,Eclipse,Spring Boot,Pom.xml,Spring Boot Maven Plugin,用于运行SpringMVC项目的是Eclipse版本:2020-03(4.15.0),使用Tomcat8.5。当我运行该项目时,它在控制台中显示“端口已在使用错误”,但当我在浏览器localhost:8080/上运行时,它可以工作。但当我查看Eclipse中的“服务器”部分时,它停止了,但我认为它是由我在pom.xml中包含的Spring引导配置管理的。服务器已经在8080端口启动了,如果我错了,请纠正我 我不知道Eclipse项目中“服务器”部分到底显示了什么,如果可能的话,我们如何将端口更改

用于运行SpringMVC项目的是Eclipse版本:2020-03(4.15.0),使用Tomcat8.5。当我运行该项目时,它在控制台中显示“端口已在使用错误”,但当我在浏览器localhost:8080/上运行时,它可以工作。但当我查看Eclipse中的“服务器”部分时,它停止了,但我认为它是由我在pom.xml中包含的Spring引导配置管理的。服务器已经在8080端口启动了,如果我错了,请纠正我

我不知道Eclipse项目中“服务器”部分到底显示了什么,如果可能的话,我们如何将端口更改为Eclipse中的其他端口

有人能通过解释背景中实际发生的事情来帮助我理解这一点吗? bs:当我添加新服务器时,在工作区外创建了一个新的服务器文件夹。


1.8
org.springframework.boot
弹簧启动装置
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
弹簧靴开发工具
运行时
真的
org.springframework.boot
弹簧起动试验
测试
org.junit.vintage
朱尼特老式发动机
org.springframework.boot
springbootmaven插件

遵循以下步骤:

  • 转到运行配置
  • 创建新的运行配置
  • 转到“参数”选项卡
  • 转到vmArguments
  • 输入:
    -Dserver.port=8081
  • 单击应用并关闭

  • 除了
    8081
    之外,您还可以输入任何其他端口号。

    遵循以下步骤:

  • 转到运行配置
  • 创建新的运行配置
  • 转到“参数”选项卡
  • 转到vmArguments
  • 输入:
    -Dserver.port=8081
  • 单击应用并关闭

  • 除了
    8081
    之外,您还可以放置任何其他端口号。

    手动转到localhost:8080会因为错误消息而起作用。另一个进程(很可能是Tomcat的另一个副本)已经在该端口上运行并侦听——这就是将响应发送回浏览器的过程。在第一个图像中显示的服务器编辑器的右侧可见端口部分。在这里,您可以更改从Eclipse启动的实例的端口号。

    手动转到localhost:8080会因为错误消息而起作用。另一个进程(很可能是Tomcat的另一个副本)已经在该端口上运行并侦听——这就是将响应发送回浏览器的过程。在第一个图像中显示的服务器编辑器的右侧可见端口部分。在这里,您可以更改从Eclipse启动的实例的端口号。

    有一个挂起的java进程侦听该端口

    按端口查找进程并终止它

    对于linux,您可以使用
    fuser-k8080/tcp

    对于windows
    netstat-ano | findstr:PORT_NUMBER
    获取PID,然后将其终止

    除此之外,您还可以使用
    JavaVisualVM
    跟踪机器上运行的所有java应用程序


    有一个挂起的java进程在该端口上侦听

    按端口查找进程并终止它

    对于linux,您可以使用
    fuser-k8080/tcp

    对于windows
    netstat-ano | findstr:PORT_NUMBER
    获取PID,然后将其终止

    除此之外,您还可以使用
    JavaVisualVM
    跟踪机器上运行的所有java应用程序


    如果有人投票支持这个问题,我会很高兴,我觉得这是一个有效的问题,因为可能会出现一些混淆,比如嵌入式服务器与独立服务器,在将相关依赖项加载到类路径时的spring引导行为

    如果有人投票支持这个问题,我会很高兴,所以我会继续更新我的个人资料


    谢谢。

    如果有人投票支持这个问题,我会很高兴,我觉得这是一个有效的问题,因为可能会出现一些混淆,导致很多配置选项可用,例如嵌入式服务器与独立服务器,在将相关依赖项加载到类路径时,spring引导行为

    如果有人投票支持这个问题,我会很高兴,所以我会继续更新我的个人资料


    谢谢。

    好的,我花时间研究和尝试错误后找到了答案。感谢所有对这个问题做出贡献的人,这让我花更多的时间来理解这个问题。因为实际上我是从头开始创建spring项目的初学者。请容忍我

    其实我想指出这些

    1) 这个项目是从初始化的,这意味着它是基于spring引导的项目,而不是一个普通的spring MVC项目(带有那些.XML文件)

    2) 我一直在一个嵌入式Tomcat服务器上运行它,在运行应用程序时,我应该遵循这个惯例。一种方法是
    /mvnw-spring-boot:run
    ,另一种方法是通过
    /mvnw-clean-package
    创建
    .JAR
    文件并运行它

    当我通过Eclipse运行应用程序时,我错误地连接了另一个Tomcat(独立)服务器。所以这是错误的

    在这里,您可以看到,现在Eclipse中的“服务器”部分下没有显示服务器,但当我运行应用程序时,它会成功运行(请参阅控制台)并侦听默认端口8080,如果我想通过作为参数传递来更改端口的话。
    -Dserver.port=8081
    或您建议的每一个其他选项。

    非常感谢您提出的任何改进建议。如果您对我的发现感到满意,请投票

    参考资料:

  • 好的
    <properties>
        <java.version>1.8</java.version>
    </properties>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>