2014-09-20 4 views
-1

У меня есть проект Maven и сервер Tomcat. Я работаю в IDEA, когда я нажимаю на "Maven LifeCicle" -> "развернуть", у меня есть проблема:Разверните проект maven to tomcat

[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ TestMaven --- 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 8.035 s 
[INFO] Finished at: 2014-09-20T13:52:32+04:00 
[INFO] Final Memory: 11M/93M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project TestMaven: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

Piace моего pom.xml является:

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>tomcat-maven-plugin</artifactId> 
<configuration> 
<server>tomcat</server> 
<url>http://localhost:8080/manager/text</url> 
</configuration> 
</plugin> 

не работал или:

 <plugin> 
      <groupId>org.apache.tomcat.maven</groupId> 
      <artifactId>tomcat7-maven-plugin</artifactId> 
      <version>2.0</version> 
     </plugin> 

также не работал.

+1

по выходе, вы не развертываются в Tomcat, вы разворачиваете в Maven репозиторий. Вероятно, ваш pom пропустил раздел 'distributionManagement'. См. [Здесь] (http://maven.apache.org/plugins/maven-deploy-plugin/usage.html). –

ответ

1

В default maven lifecyclemvn deploy означает развернуть один или несколько артефактов сборки в репозиторий maven. Причина в том, что цель maven-deploy-plugindeploy связана с фазой deploy жизненного цикла. Эта конфигурация автоматически выполняется, если вы используете, например, упаковку jar.

В мавена

  • жизненный цикл Maven сборки состоит из фаз
  • фаза состоит из целей плагина
  • типа тары (например, банки, уха, война) предварительно конфигурирует плагины цели для выполнения в фазе жизненного цикла

для того, чтобы решить вашу проблему, я бы первый пакет в веб-приложение, а затем вызвать deploy цель tomcat7-maven-plugin.

mvn package org.apache.tomcat.maven:tomcat7-maven-plugin:2.0:deploy 

или просто

mvn package tomcat7:deploy 

выше Команда МВН означает:

  • не вызывать жизненный цикл сборки по умолчанию до фазы пакета
  • то цель deploy из tomcat7 плагина.

Если вы хотите знать, как специалист решает tomcat7:deploy к org.apache.tomcat.maven:tomcat7-maven-plugin:2.0:deploy вы должны прочитать больше о plugin groups и соглашения об именах плагинов.

0

С командой maven deploy обычно возникают ошибки по разным причинам. , если вы работаете в системе Unix/Linux, я рекомендую использовать метод «rsync» на консоли. (Вы можете написать собственный сценарий оболочки для управления легко). Это помогает не только развертывать без проблем, но также помогает получить время при повторном развертывании (только загрузка измененных/новых файлов). Поскольку maven deploy/redeploy загружает ваш проект в виде пакета в jar/war. Однако метод «rysnc» загружает файлы проекта один за другим.

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

1- ваш проект построен в целевой папке (Spring Tool Suite)

2- вы имеете доступ к коту через SSH

пример кода:(v_: префикс, который является переменной (настраиваемый))

rsync -avz v_your_project_in_target [email protected]_ip:v_tomcat_name/webapps/v_project_name 
Смежные вопросы