Порт уже используется с сообщением об ошибке 8080 в Eclipse, но он работает на порту 8080 в веб-браузере при запуске - PullRequest
0 голосов
/ 08 мая 2020

Используется для запуска Spring. MVC Проект Eclipse версии: 2020-03 (4.15.0) с использованием Tomcat 8.5. Когда я запускаю проект, в консоли отображается «ошибка порта уже используется», но когда я запускаю в браузере localhost: 8080 /, он работает. Но когда я заглянул в раздел «Серверы» в Eclipse, он остановился, но я думаю, что он управляется конфигурацией загрузки Spring, которую я включил в pom. xml. и там сервер уже запущен в порту 8080, поправьте меня, если я ошибаюсь.

Я не понимаю, что именно отображается в разделе «Сервер» в проекте Eclipse и как мы можем изменить порт на что-то еще из Eclipse , если возможно?

Может ли кто-нибудь помочь мне понять это, объяснив, что на самом деле происходит в фоновом режиме? bs: при добавлении нового сервера в рабочей области создается новая папка сервера. port already in use error, configuration set to 8080 server is stopped, no port added in .properties file but it works on port 8080

<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>

Ответы [ 5 ]

2 голосов
/ 08 мая 2020

Выполните следующие шаги:

  1. Go для запуска конфигурации
  2. Создать новую конфигурацию запуска
  3. Go на вкладку аргументов
  4. Go to vmArguments
  5. введите: -Dserver.port=8081
  6. Нажмите «Применить» и закройте.

Вместо 8081 можно поставить любой другой порт номер тоже.

0 голосов
/ 10 мая 2020

Хорошо, я нашел ответ, потратив время на исследования, отслеживание и ошибки. Спасибо всем, кто участвовал в этом вопросе, это то, что заставляет меня тратить больше времени на понимание проблемы. Так как на самом деле я новичок в работе над созданием весеннего проекта с нуля. Пожалуйста, потерпите меня.

На самом деле я хотел бы указать на это.

1) Этот проект инициализирован из https://start.spring.io/, так что это означает, что это весенняя загрузка на основе проекта, а не простого проекта spring- MVC (с этими. XML файлами).

2) Я запускал его на встроенном сервере Tomcat, где я должен следовать практике при запуске применение. один подход - ./mvnw spring-boot:run, а другой - создание файла .JAR с помощью ./mvnw clean package и его запуск.

Я сделал ошибку, подключив другой сервер Tomcat (автономный) при запуске приложения через Eclipse. Так что это неправильно.

Здесь вы можете видеть, что теперь в разделе «Сервер» в Eclipse не отображается сервер, но когда я запускаю приложение, оно запускается успешно (см. Консоль) и прослушивает порт 8080 по умолчанию, если я хочу изменить порт, который можно передать в качестве аргумента. -Dserver.port=8081 или любые другие варианты, которые вы, ребята, предложили. no any stand-alone server but application runs on top of embedded server for default port:8080

любые предложения по улучшению этого очень приветствуются. пожалуйста, проголосуйте, если вам нравятся мои выводы.

ссылки:

  1. what-is-spring-boot
  2. serve-web- содержание
0 голосов
/ 09 мая 2020

Я был бы рад, если бы кто-нибудь проголосовал за этот вопрос, я считаю, что это правильный вопрос, поскольку есть некоторая путаница, которая может вызвать столько вариантов конфигурации, как встроенный сервер против автономного сервера, поведение весенней загрузки, когда дело доходит до загрузки соответствующих зависимостей в путь к классу.

счастлив, если кто-то проголосует за этот вопрос, поэтому я продолжаю обновлять свой профиль.

спасибо.

0 голосов
/ 09 мая 2020

Зависит процесс java, который прослушивает этот порт.

Найдите процесс по порту и завершите его.

для linux вы можете использовать fuser -k 8080/tcp

для windows netstat -ano | findstr :PORT_NUMBER, чтобы получить PID, а затем убить его

кроме этого вы можете использовать JavaVisualVM для отслеживания всех java приложений, работающих на вашем компьютере

enter image description here

0 голосов
/ 09 мая 2020

Ручной переход на localhost: 8080 работает из-за сообщения об ошибке. Другой процесс, вероятно, другая копия Tomcat, уже запущен и прослушивает этот порт - это то, что отправляет ответ в ваш браузер. В правой части редактора сервера, который вы показываете на первом изображении, отображается раздел «Порты». Здесь вы можете изменить номера портов для экземпляра, запускаемого из Eclipse.

...