2013-10-01 4 views
3

У меня есть веб-приложение. Я использую maven для создания этого приложения. Я получаю файл войны, когда я создаю приложение: my-service-1.0.0-SNAPSHOT.war. В то время как доступ к услугам через HTTP, я должен сделать вызов, как это:Избегайте номера версии из контекстного корня веб-приложения

http://localhost:8080/my-service-1.0.0-SNAPSHOT/...... 

Я не хочу, номер версии в моем имени контекста. Я использую tomcat в качестве контейнера. Должен ли я установить контекстный корень для этого в Web-Inf, как мы это делаем в случае jboss? От этого зависит тип контейнера, который мы используем?

+0

Вы можете установить путь контекста на Tomcat: http://stackoverflow.com/questions/7276989/howto-set-the-context-path-of-a-web-application-in-tomcat-7-0 –

+0

И вы также можете использовать 'path', если вы используете плагин tomcat maven: http://stackoverflow.com/a/7811435/664577 –

+0

Это не имеет значения, потому что это контейнер на месте в Maven. Это не предназначено для производства! –

ответ

3

Используя maven, вы можете установить переменную в файле pom.xml, чтобы сохранить свое окончательное имя сборки и в конфигурации вашего военного плагина, которую вы передаете. Что-то вроде этого:

<build> 
    <finalName>my-service</finalName> 
</build> 

Затем в конфигурации плагина:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.0</version> 
    <configuration> 
      <webappDirectory>/path_to_deploy_folder/${project.build.finalName}.war</webappDirectory> 
    </configuration> 
</plugin> 
+2

Нет, это не так. Единственный верный путь - это изменить конфигурацию плагина tomcat maven, как это было сделано Энтони Аккойли. –

+0

Ну, так как вопрос касается MAVEN, чтобы создать приложение, почему это неправильный ответ или, по крайней мере, действительный? –

+1

Я согласен с Хорхе, если только случай заключается в удалении версии с URL-адреса, какие минусы этого ответа? – iskramac

1

Вы не упомянули ли вы используете Maven для развертывания в TOMCAT контейнер. Если вы создаете производственную среду, вы, вероятно, не будете использовать maven, по крайней мере, для локальных развертываний. В этом случае я не думаю, что это плохая идея переименовать ваш военный файл. Например, если вы хотите, чтобы ваш корн webapp находился в https://mydomain.com/subdomain/myteam/myapp, просто переименуйте my-service-1.0.0-SNAPSHOT.war в субдомен # myteam # myapp.war с заменой на '/' на # #

Смежные вопросы