Maven инструмент для создания веб-приложений - PullRequest
0 голосов
/ 08 февраля 2010

Я использую Eclipse 3.2.2 в качестве IDE. я хочу, чтобы код maven создавал и развертывал мое веб-приложение, использующее Spring Web MVC 2.0.

Ответы [ 3 ]

6 голосов
/ 08 февраля 2010

Я дам вам один, самый простой способ, чтобы начать (вопрос слишком неопределенный, чтобы быть более точным). Во-первых, чтобы настроить веб-приложение, управляемое maven, и создать его, вам нужно будет создать проект с пакетом типа war. Хорошая новость заключается в том, что Maven является архетипом для этого (инструмент для создания проекта), так что это на самом деле очень простой шаг. Просто введите следующую команду:

$ mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp \
                       -DgroupId=com.stackoverflow.q2220593 \
                       -DartifactId=myfirstwebapp \
                       -Dversion=1.0-SNAPSHOT

В Windows введите эту команду в командном окне в одну строку без '\' в конце. На * nices вы можете вставить его как есть. После выполнения вы получите готовую к использованию структуру проекта веб-приложения в соответствии с соглашениями Maven:

$ cd myfirstwebapp/
$ tree .
.
|-- pom.xml
`-- src
    `-- main
        |-- resources
        `-- webapp
            |-- WEB-INF
            |   `-- web.xml
            `-- index.jsp

Если вы хотите добавить классы Java непосредственно в проект веб-приложения, создайте каталог src/main/java и поместите туда свои источники (тестовые классы идут в src/test/java, а ресурсы тестирования - в src/test/resources). Обратитесь к Введение в стандартную компоновку каталогов для обзора макета по умолчанию.

Для проекта Spring обычно требуется добавить зависимости Spring в файл pom.xml и поместить файл контекста приложения в src/main/resources (файлы в этом каталоге доступны по пути к классам и будут скопированы в WEB-INF/classes).

Чтобы создать веб-приложение (скомпилировать классы, скомпилировать тесты, выполнить тесты, упаковать веб-приложение), просто запустите:

$ mvn package

Это создаст .war в целевой директории:

$ ls target/
classes  maven-archiver  myfirstwebapp  myfirstwebapp.war  test-classes  war

Для запуска веб-приложения я предлагаю использовать Tomcat Maven Plugin :

$ mvn tomcat:run

Никаких дополнительных настроек не требуется для этого базового варианта использования. Проверьте примеров для более продвинутых вариантов использования.

Другой вариант - использовать Jetty Maven Plugin (который часто предпочитается при разработке). Для этого добавьте jetty-maven-plugin в определение pom.xml:

<plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>jetty-maven-plugin</artifactId>
</plugin>

И выполнить:

mvn jetty:run

чтобы запустить причал (и заставить его сканировать файлы вашего проекта на предмет изменений).

Плагин Cargo Maven позволит выполнять аналогичные действия без учета контейнера, но его может быть немного сложнее в настройке, по крайней мере, для сложных случаев использования. Без более подробной информации о том, что именно вы хотите сделать, я бы не рекомендовал это сейчас.

2 голосов
/ 08 февраля 2010

Настройте свой проект как военный проект, см. http://maven.apache.org/plugins/maven-war-plugin/index.html
Или вы можете использовать проект в стиле реактора с военным модулем, см. http://maven.apache.org/guides/mini/guide-multiple-modules.html.

Для развертываний вы можете посмотреть плагин cargo

1 голос
/ 08 февраля 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...