无法使用带有Mail API的Maven3部署到Tomcat

时间:2011-11-12 10:01:10

标签: maven-2 maven maven-3

我正在开发一个需要使用java邮件功能的应用程序。我们已经开始使用maven 3.x作为构建工具了。

在没有引入Java Mail API之前,一切正常。我们正在使用带有M2Eclipse插件的Eclipse,但我们的大部分部署工作都是由maven命令行完成的。

我们在pom.xml中引入了以下依赖项,并且我已经验证了mail.jar和activation.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>

我无法理解这里出了什么问题。在这方面会有很多帮助。

先谢谢

1 个答案:

答案 0 :(得分:0)

从你的程序我看到:

  1. mvn clean - 用您的构建
  2. 删除目标目录
  3. mvn tomcat:deploy - 应该进行构建(使用mvn clean删除)并将其部署在tomcat上
  4. 没有构建阶段。所以请改用mvn clean package tomcat:deploy。如果您的应用程序已经部署在tomcat中,请尝试mvn clean package tomcat:redeploy。有关详情,请查看plugin documentation

    您使用哪种Tomcat版本? 根据{{​​3}},您使用版本1.1。在http://repo1.maven.org/maven2/org/codehaus/mojo/tomcat-maven-plugin/中,您可以找到此版本不支持Tomcat 7的版本。为此,您必须升级到版本2.0。见plugin documentation

    可能你好