Невозможно выполнить развертывание в Tomcat, используя Maven3 с Mail API - PullRequest
0 голосов
/ 12 ноября 2011

Я работаю над приложением, в котором нам нужно использовать функциональность java mail. Мы начали использовать maven 3.x как инструмент сборки.

Все работало нормально, пока Java Mail API не был представлен. Мы используем Eclipse с плагином M2Eclipse, но большая часть нашей работы по развертыванию выполняется командной строкой maven.

Мы добавили следующую зависимость в наш pom.xml, и я проверил, что и mail.jar, и activ.jar находятся в соответствующей структуре папок.

<dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4</version>
        </dependency>

Мы попробовали следующую команду

> mvn clean

и чем

>mvn tomcat:deploy

хотя maven показывает, что он успешно развернул войну на консоли tomcat, но tomcat показывает, что не удается развернуть приложение, а в других успешных случаях мы сталкиваемся со странной проблемой, поскольку мы используем hibernate для уровня персистентности, поэтому при проверке В структуре папок выяснилось, что файлы сопоставления .hbm отсутствуют, из-за чего фабрика сеансов не создается и сервер не может запуститься.

вот снимок входа в плагин

<plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>tomcat-maven-plugin</artifactId>
                <configuration>
                    <warFile>${project.build.directory}/${project.build.finalName}.war</warFile>
                    <url>http://localhost:8080/manager/html</url>
                    <server>localhost</server>
                    <path>/blood_donor</path>

                </configuration>
            </plugin>

Я не могу понять, что здесь происходит. Любая помощь в этом отношении будет очень ценной.

Спасибо заранее! 1022 *

1 Ответ

0 голосов
/ 17 ноября 2011

Из вашей процедуры вижу:

  1. mvn clean - удаляет целевой каталог с вашей сборкой
  2. mvn tomcat:deploy - должен взять сборку (которая была удалена с помощью mvn clean) и развернуть ее на tomcat

Нет фазы сборки. Так что используйте вместо mvn clean package tomcat:deploy. Если ваше приложение уже развернуто в tomcat, попробуйте mvn clean package tomcat:redeploy. Подробности смотрите в документации по плагину .

Какую версию Tomcat вы используете? Согласно http://repo1.maven.org/maven2/org/codehaus/mojo/tomcat-maven-plugin/ вы используете версию 1.1. В документации к плагину вы можете найти, что Tomcat 7 не поддерживается в этой версии. Для этого необходимо обновить версию до 2.0. См http://tomcat.apache.org/maven-plugin-2.0-SNAPSHOT/

Вероятно, лет

...