Подтвердить что ты не робот

Как изменить корень контекста динамического веб-проекта в Eclipse?

Я разработал динамический веб-проект в Eclipse. Теперь я могу получить доступ к нему через свой браузер, используя следующий URL-адрес:

http://localhost:8080/MyDynamicWebApp

Теперь я хочу изменить URL-адрес доступа на

http://localhost:8080/app

Я изменил корень контекста из проекта "Свойства | Настройки веб-проекта | Корень контекста".

Но он не работает. Веб-приложение по-прежнему имеет URL-адрес доступа, как ранее. Я повторно развернул приложение на Tomcat, перезапустил Tomcat и сделал все, что нужно сделать, но URL-адрес доступа такой же, как раньше.

Я обнаружил, что не было файла server.xml, прикрепленного к файлу WAR. Затем, как Tomcat определяет, что корень контекста моего веб-приложения /MyDynamicWebApp и позволяет мне получить доступ к приложению через этот URL?

4b9b3361

Ответ 1

Я уверен, что ты уже перешел, но я думал, что все равно ответю.

Некоторые из этих ответов дают обход. Что на самом деле должно произойти, так это то, что вы очищаете и повторно публикуете свой проект, чтобы "активировать" новый URI. Это делается щелчком правой кнопкой мыши на вашем сервере (в представлении "Серверы") и выборе "Очистить". Затем вы запускаете (или перезапускаете его). Большинство других ответов здесь показывают, что вы делаете то, что по сути делает это.

Файл, который изменяется, - это workspace/.metadata/.plugins/org.eclipse.wst.server.core/publish/publish.dat, если только у вас не более одного сервера в вашем рабочем пространстве, и в этом случае он будет publishN.dat на том же пути.

Надеюсь, это поможет кому-то.


Не уверен, что это правильный этикет или нет. Я редактирую этот ответ, чтобы дать точные шаги для Eclipse Indigo.

  1. В своем проекте "Свойства" выберите "Настройки веб-проекта".

  2. Измените "Корень контекста" на "приложение".

    screen shot of Eclipse project properties Web Project Settings

  3. Выберите "Окно"> "Показать вид"> "Серверы".

  4. Остановите сервер, нажав на квадрат красного квадрата (всплывающая подсказка "Остановить сервер") или щелкните контекстно-клик по списку серверов, чтобы выбрать "Остановить".

  5. На сервере, который вы хотите использовать, щелкните контекстно-клик, чтобы выбрать "Очистить...".

    enter image description here

  6. Нажмите OK в этом диалоговом окне подтверждения.

    Screenshot of dialog asking to update server configuration to match the changed context root

Теперь вы можете запустить приложение с новым URL-адресом приложения, например:

http://localhost:8080/app/

Выполнение этого вне Eclipse на вашем рабочем сервере еще проще → Переименуйте файл войны. Экспортируйте ваше приложение Vaadin в качестве файла WAR (Файл> Экспорт> Веб> WAR файл). Переместите файл WAR в контейнер сервлета веб-сервера, такой как Tomcat. Переименуйте свой WAR файл, в данном случае в "app.war". Когда вы запускаете контейнер сервлета, большинство таких, как Tomcat, будут автоматически развертывать приложение, которое включает в себя расширение военного файла в папку. В этом случае мы должны увидеть папку с именем "приложение". Тебе должно быть хорошо. Проверьте свой URL. Для домена, такого как example.com, это будет:

http://www.example.com/app/

Программистам инструментария Vaadin, возможно, придется перестроить их набор виджета, если использовать визуальные дополнения.

Ответ 2

После изменения корня контекста в свойствах проекта вы должны удалить свое веб-приложение из Tomcat (с помощью Add and Remove... в контекстном меню сервера), повторно развернуть, а затем повторно добавить свое приложение и повторно развернуть. Это сработало для меня.

Если вы поражены, у вас есть другой выбор: выберите сервер Tomcat в представлении "Серверы". Двойной щелчок на этом сервере (или выбор "Открыть" в контекстном меню) содержит многостраничный редактор, в котором есть страница "Модули". Здесь вы можете изменить корневой контекст своего модуля (это называется "Путь" на этой странице).

Ответ 3

Если вы используете Tomcat из Eclipse, он не использует конфигурацию из вашей фактической установки Tomcat. Он использует конфигурацию Tomcat, которая была создана и сохранена в проекте "Серверы" . Если вы просмотрите рабочее пространство Eclipse, вы должны увидеть проект под названием "Серверы" . Разверните этот проект "Серверы" , и вы столкнетесь с server.xml. Откройте этот файл и прокрутите до конца, и вы увидите что-то вроде этого: -

<Context docBase="abc" path="/abc" reloadable="true" source="org.eclipse.jst.jee.server:abc"/>

Здесь вы можете просто изменить свой контекст контекста проекта на что-то еще.

Надеюсь, что это поможет.

Ответ 4

Я опробовал решение, предложенное Русом Бэйтманом. Здесь в сообщении

http://localhost:8080/Myapp до http://localhost:8080/somepath/Myapp

Но Didnt работал у меня, поскольку мне нужен файл *.war, который может содержать конфигурацию, а не отдельный экземпляр сервера на моем локальном компьютере.

Ссылка

Для этого мне нужен jboss-web.xml, размещенный в WEB-INF

<?xml version="1.0" encoding="UTF-8"?>
 <!--
Copyright (c) 2008 Object Computing, Inc.
All rights reserved.
-->
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 4.2//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">

  <jboss-web>
  <context-root>somepath/Myapp</context-root>
  </jboss-web>

Ответ 5

Apache tomcat поддерживает путь контекста проекта в пути server.xml. Для каждого веб-проекта на Eclipse есть метка оттуда, вы можете изменить его.
Предположим, на сервере есть два или три проекта. Для каждого одного контекстного пути хранится. Этот тег находится в файле server.xml внутри сервера, созданного на eclipse.

У меня есть один проект для корневого пути контекста на сервере:

<Context docBase="Test" path="/test" reloadable="true" source="org.eclipse.jst.jee.server:Test1"/>

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

Ответ 6

Я знаю, что ответ уже принят. Но, на всякий случай, если кто-либо, используя Maven, хочет достичь того же, просто установите finalName в maven build для любого имени, которое вы хотите дать, и выполните maven → обновить проект

<build>
    <finalName><any-name></finalName>
    <plugins><provide-plugins-needed></plugins>
<build>

Ответ 7

Настройка пути к нишу в диалоговом окне редактирования веб-модулей Eclipse позволила мне получить доступ к проекту без какого-либо компонента пути в URL-адресе (например, ROOT)

Вы можете попасть в диалоговое окно редактирования веб-модулей, нажав F3, если вы выберите Tomcat в представлении "Серверы" или дважды щелкнув по нему.

Некоторые скриншоты:

Ответ 8

Если проект является maven, измените "finalName" в pom.xml и обновите проект как Maven.This работал у меня.

Ответ 9

В Glassfish вы также должны изменить файл WEB-INF/glassfish-web.xml

<glassfish-web-app>
    <context-root>/myapp</context-root>
</glassfish-web-app>

Итак, когда вы нажмете "Запуск от имени > Запуск на сервере" , он откроется правильно.

Ответ 10

В проекте java откройте папку .settings. найдите файл с именем "org.eclipse.wst.common.component". Изменить тег < wb-module deploy- name= "NEW_NAME" > .

Также вы можете изменить корень контекста в свойствах проекта

Ответ 11

Если вы используете eclipse для развертывания вашего приложения. Мы можем использовать этот плагин maven

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.10</version>
    <configuration>
        <wtpversion>2.0</wtpversion>
        <wtpContextName>newContextroot</wtpContextName>
    </configuration>
</plugin>

теперь перейдите в корневую папку проекта и откройте приглашение cmd в этом месте введите следующую команду:

mvn eclipse: eclipse -Dwtpversion = 2.0

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