Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Maven автоматзировать запуск приложения 
:(
    Опции темы
4epT
Дата 11.7.2011, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 784
Регистрация: 13.8.2007

Репутация: нет
Всего: 3



Доброе утро) Понемногу птыаюсь перейти на Maven (до этого использовал Ant) и столкнулся с такой проблемой... сейчас для запуска проекта приходиться из Eclipse руками вызывать mvn clean install и потом копировать app.war в webapp томкета, в Ant мы просто пишем цели а потом можем при помощи команд копировать war файлы в директорию томкета. Кто может подсказать из своего опыта как правильно и более удобнно сделать процесс сборки и запуска Maven проекта ?
PM MAIL   Вверх
Stolzen
Дата 11.7.2011, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 4
Всего: 48



Можно использовать плагин maven-jetty-plugin: 

Код

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>group-id</groupId>
    <artifactId>artifact-id</artifactId>
    <packaging>war</packaging>
    <version>1.0</version>
    <name>NAME</name>
    <description>description</description>

    <build>
        <plugins>
            
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <version>6.1.16</version>
                <configuration>
                    <connectors>
                        <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                            <port>9090</port>
                            <maxIdleTime>60000</maxIdleTime>
                        </connector>
                    </connectors>
                    <requestLog implementation="org.mortbay.jetty.NCSARequestLog">
                        <filename>target/yyyy_mm_dd.request.log</filename>
                        <retainDays>90</retainDays>
                        <append>true</append>
                        <extended>false</extended>
                        <logTimeZone>GMT</logTimeZone>
                    </requestLog>
                </configuration>
            </plugin>
            
            <!-- Another plugins -->        
        </plugins>
    </build>

    <!-- Dependencies ... -->

</project>


запуск - mvn jetty:run

Если обязательно нужен именно Tomcat, то можно посмотреть тут http://cargo.codehaus.org/

Это сообщение отредактировал(а) Stolzen - 11.7.2011, 09:31


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
4epT
Дата 11.7.2011, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 784
Регистрация: 13.8.2007

Репутация: нет
Всего: 3



Спасибо ) буду разбираться.
PM MAIL   Вверх
4epT
Дата 12.7.2011, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 784
Регистрация: 13.8.2007

Репутация: нет
Всего: 3



Что то так и не получилось автоматизировать этот процес ( Подскажите пожалуйста может можно выполнить из pom.xml какой то скрипт ?
Например я хочу после деплоя (mvn install) выполнить вот такое:
Код

cd /Users/User/Documents/workspace/Project/target/
cp Project.war /Users/User/tomcat/webapp/


как можно такое сделать ?
PM MAIL   Вверх
Stolzen
Дата 12.7.2011, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 4
Всего: 48



По идее, если использовать плигин cargo, то не нужно будет вручную копировать

Добавляете плагин и запускаете mvn cargo:deploy

Вот нашел кусок помника, добавьте в plugins:

Код

     <plugin>
       <groupId>org.codehaus.cargo</groupId>
       <artifactId>cargo-maven2-plugin</artifactId>
       <version>1.0.2</version>
       <configuration>
         <wait>true</wait>
         <container>
           <containerId>tomcat6x</containerId>
           <type>installed</type>
           <home>${env.CATALINA_HOME}</home>
         </container>
         <configuration>
           <type>existing</type>
           <home>${env.CATALINA_HOME}</home>
         </configuration>
         <deployer>
           <type>installed</type>
           <deployables>
             <deployable>
               <groupId>groupId</groupId>
               <artifactId>artifactId</artifactId>
               <type>war</type>
             </deployable>
           </deployables>
         </deployer>
       </configuration>
     </plugin>


В deployable записывается groupId и artifactId проекта, который вы хотите задеплоить
CATALINA_HOME - путь к томкату





--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
4epT
Дата 13.7.2011, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 784
Регистрация: 13.8.2007

Репутация: нет
Всего: 3



Через cargo проект собирается, но war файле в webapps Томкета не появляется. Никаких ошибок не выдается ...
PM MAIL   Вверх
LSD
Дата 13.7.2011, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 15
Всего: 538



Если не добавить секцию executions в POM
Код

                        <executions>
                            <execution>
                                <phase>install</phase>
                                <goals>
                                    <goal>deploy</goal>
                                </goals>
                            </execution>
                        </executions>

То плагин надо запускать руками:
Код

mvn cargo:deploy



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
4epT
Дата 13.7.2011, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 784
Регистрация: 13.8.2007

Репутация: нет
Всего: 3



Ну я собственно руками и запускал, может нужно было прям из IDE запускать ?
PM MAIL   Вверх
LSD
Дата 13.7.2011, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 15
Всего: 538



Может уже пора показать POM и лог запуска или еще погадаем? smile 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
4epT
Дата 14.7.2011, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 784
Регистрация: 13.8.2007

Репутация: нет
Всего: 3



Вот собственно pom.xml:

Код

<build>
    <finalName>MavenProject</finalName>
    <plugins>
        <plugin>
       <groupId>org.codehaus.cargo</groupId>
       <artifactId>cargo-maven2-plugin</artifactId>
       <version>1.0.2</version>
       <configuration>
         <wait>true</wait>
         <container>
           <containerId>tomcat6x</containerId>
           <type>installed</type>
           <home>"/Users/Malakhov/apache-tomcat-6.0.32/"</home>
         </container>
         <configuration>
           <type>existing</type>
           <home>"/Users/Malakhov/apache-tomcat-6.0.32/"</home>
         </configuration>
         <deployer>
           <type>installed</type>
           <deployables>
             <deployable>
               <groupId>MavenProject</groupId>
               <artifactId>MavenProject</artifactId>
               <type>war</type>
             </deployable>
           </deployables>
         </deployer>
       </configuration>
     </plugin>
    </plugins>
  </build>


А вот при запуске стало сыпать вот такое:
Код

[ERROR] Failed to execute goal org.codehaus.cargo:cargo-maven2-plugin:1.0.2:deploy
 (default-cli) on project MavenProject: Execution default-cli 
of goal org.codehaus.cargo:cargo-maven2-plugin:1.0.2:deploy failed: Failed to create deployable 
for the parameters (container [id = [tomcat6x]], deployable type [war]). InvocationTargetException: Failed to parse
 Tomcat WAR file in [/Users/Malakhov/Documents/workspace/MavenProject/target/MavenProject.war]:
 Failed to find file [/Users/Malakhov/Documents/workspace/MavenProject/target/MavenProject.war]: 
/Users/Malakhov/Documents/workspace/MavenProject/target/MavenProject.war
 (No such file or directory) -> [Help 1]
[ERROR] 



раньше такого не было, вроде ничего не менял

Это сообщение отредактировал(а) 4epT - 14.7.2011, 00:17
PM MAIL   Вверх
LSD
Дата 14.7.2011, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 15
Всего: 538



Ну собственно вопрос: а файл:
Цитата
/Users/Malakhov/Documents/workspace/MavenProject/target/MavenProject.war

существует и корректный war архив?

Добавлено через 1 минуту и 39 секунд
И 
Код

<deployable>
    <groupId>MavenProject</groupId>
    <artifactId>MavenProject</artifactId>
    <type>war</type>
</deployable>

лучше заменить на:
Код

<deployable>
    <groupId>${project.groupId}</groupId>
    <artifactId>${project.artifactId}</artifactId>
    <type>${project.packaging}</type>
</deployable>

тогда при изменении имени файла, не придется менять настройки плагина.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
4epT
Дата 14.7.2011, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 784
Регистрация: 13.8.2007

Репутация: нет
Всего: 3



Цитата

существует и корректный war архив?


Если перед этим выполнить mvn install то war файл существует и он корректный ) так же если происходит выполнение mvn install, то указанные выше ошибки не сыпятся. Показать лог смогу только вечером так как ноут дома(

я почему то думал что mvn cargo:deploy включает в себя и install ...
PM MAIL   Вверх
Stolzen
Дата 14.7.2011, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 4
Всего: 48



Цитата(LSD @  13.7.2011,  14:41 Найти цитируемый пост)
Если не добавить секцию executions в POM
                        <executions>
                            <execution>
                                <phase>install</phase>
                                <goals>
                                    <goal>deploy</goal>
                                </goals>
                            </execution>
                        </executions>

Если сделать так, то инсталл будет включать в себя деплой



--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.1658 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.