Есть ли простой способ указать альтернативный порт для Tomcat в pom или в командной строке. Я хотел бы иметь несколько проектов, работающих на одной машине.Альтернативный порт для Tomcat (не 8080) при запуске с Maven?
ответ
Если вы используете Maven TOMCAT плагин, вы можете specify a context.xml путем добавления блока конфигурации плагина к pom.xml: файл context.xml
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<configuration>
<mode>both</mode>
</configuration>
</plugin>
</plugins>
</build>
...
</project>
, используемый по умолчанию находится в src/main/webapp/META-INF/context.xml
.
Установить различные порты.
Используя синтаксис, приведенный на tomcat-maven-plugin, вы можете непосредственно указать порт:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <configuration> <server>tomcat-development-server</server> <port>9966</port> </configuration> </plugin>
Может ли это быть указано в settings.xml? Эта конфигурация сломала бы других, используя ее, если бы их кошка работала на другом порту. – Drew
Новая документация здесь: https://tomcat.apache.org/maven-plugin-trunk/run-mojo-features.html – dhh
Это не сработает для меня – Snickers3192
Я знаю, эта нить старый, но ...
ссылка на документацию, при условии, Грег является интересным:
port:
The port to run the Tomcat server on.
Type: int
Required: No
Expression: ${maven.tomcat.port}
Default: 8080
Выражение - это то, что maven используйте, чтобы получить значение в своем коде. Это может происходить из файла конфигурации или из командной строки.
Вы можете запустить
mvn -Dmaven.tomcat.port=8181 tomcat:run-war
У меня была аналогичная проблема, когда у меня было несколько небольших сервлетов, которые работают их интеграционного пробный этап в то же время, что стало проблемой, так как те были настроены использовать один и тот же порт , Но благодаря цели build-helper-maven-plugin:reserve-network-port можно получить произвольные номера портов, которые доступны. Затем я могу создать URL-адрес, содержащий http://localhost:[port]/[servletname], который является feed into испытательным классом Java.
Получение случайного порта:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>reserve-network-port</id>
<goals>
<goal>reserve-network-port</goal>
</goals>
<phase>pre-integration-test</phase>
<configuration>
<portNames>
<portName>tomcat.http.port</portName>
</portNames>
</configuration>
</execution>
</executions>
Запуск Tomcat с портом
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<configuration>
<port>${tomcat.http.port}</port>
<useTestClasspath>true</useTestClasspath>
</configuration>
....
</plugin>
Кормление URL для теста интеграции Java, которая запускается в отказоустойчивых плагин
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.12.3</version>
....
<configuration>
<systemPropertyVariables>
<integration-test.url>http://localhost:${tomcat.http.port}/${project.build.finalName}/</integration-test.url>
</systemPropertyVariables>
</configuration>
</plugin>
Java код
public class DownloadAreaIT {
private static final String URL = System.getProperty("integration-test.url");
}
Я думаю, что лучше и проще всего это (если тест правильно привязать к фазе интеграции):
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>reserve-network-port</id>
<goals>
<goal>reserve-network-port</goal>
</goals>
<phase>pre-integration-test</phase>
<configuration>
<portNames>
<portName>maven.tomcat.port</portName>
</portNames>
</configuration>
</execution>
</executions>
</plugin>
Вы coud добавить конфигурацию порта навсегда, добавив к нему порт атрибута.
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
<port>9090</port>
</configuration>
</plugin>
</plugins>
</build>
Ниже работал для меня:
<properties>
<maven.tomcat.port>9090</maven.tomcat.port>
</properties>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>${maven.tomcat.port}</port>
</configuration>
</plugin>
Существует лучший и простой способ изменить Tomcat (не 8080) когда начиная с Maven
Просто Редактируйте application.properties (если у вас есть нет файла application.properties, затем создайте файл application.properties в каталоге ресурсов вашего проекта maven) и установите строку ниже
server.port = 8181 // Вы можете c снимите номер своего порта.
Потратив около 3 часов на то, как изменить порт в POM.xml, вот мое последнее решение.
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<maven.tomcat.port>8081</maven.tomcat.port>
</configuration>
</plugin>
Использование только port
не работает, так как это не свойство, которое вы можете установить в <configuration>
. Нам нужно понять, что вызывает проблему. В моем случае ошибка заключалась в том, что принимается порт 8080
. Я изменил порт в server.xml
на 8081
, но maven не взял его оттуда. Нам нужно конкретно указать это в поле configuration
. Это место, где <maven.tomcat.port>8081</maven.tomcat.port>
приходит на помощь. Примечание. Вы можете подключить порт 8081 к чему-то еще, что вам нравится.
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<server>tomcat-development-server</server>
<port>9090</port>
</configuration>
</plugin>
- 1. Tomcat порт 8080 80
- 2. Tomcat не будет отвечать на порт 8080
- 3. tomcat работает, но порт 8080 не отвечает
- 4. Ошибка сервера Tomcat - порт 8080 уже используется
- 5. Записывать, когда tomcat связывает порт 8080
- 6. Tomcat работает через порт 80, но не 8080. Брандмауэр выключен
- 7. Как настроить порт maven tomcat в eclipse?
- 8. Как изменить порт по умолчанию для порта Tomcat No 8080?
- 9. Spring boot - Невозможно изменить порт по умолчанию 8080 на TomCat
- 10. Не удалось перенаправить apache на порт 8080
- 11. Удалите порт Tomcat 8080 с URL-адреса на сервере LAMP
- 12. Альтернативный порт http?
- 13. Ошибка при запуске TOMCAT
- 14. Сервер Windows не отвечает на порт 8080
- 15. порт 8080 уже используется «SYSTEM»
- 16. Перенаправление Tomcat 7 80 для Apache 8080
- 17. как развернуть java-приложение на tomcat без отображения порт 8080?
- 18. Изменение порта Tomcat с 8080 по 80
- 19. Https альтернативный порт для 443
- 20. Apache httpd vs. Tomcat 7: порт 80 против порта 8080
- 21. Комбинация Apache, Tomcat, порт 80, 8080 и другие вещи
- 22. Порт 8080, необходимый Tomcat v8.0 Сервер на localhost уже используется
- 23. Tomcat 7 раз при запуске
- 24. NotSerializableException при запуске Tomcat
- 25. Исключение при запуске Tomcat
- 26. Ошибка при запуске tomcat
- 27. Почему мне нужен порт 8080 после localhost?
- 28. Как заменить порт Tomcat с помощью Maven-Cargo?
- 29. Ошибка памяти при попытке изменить порт Apache Tomcat с 8080 по 80
- 30. Docker: невозможно открыть порт 8080
MVN -Dmaven.tomcat .port = <1024-49151> кот: запустить Пример MVN -Dmaven.tomcat7.port = 8585 tomcat7: запустить или в pom.xml ... <конфигурация> конфигурация> –
Rafiq