用于构建Web应用程序的Maven工具

时间:2010-02-08 09:35:04

标签: java maven-2

我使用eclipse 3.2.2作为IDE。我想要maven代码来构建和部署我的Web应用程序,这是使用spring web mvc 2.0。

3 个答案:

答案 0 :(得分:6)

我会给你一种方法,最简单的方法,开始(问题太模糊,不能更精确)。首先,要设置由maven管理的webapp并构建它,您必须创建一个类型为war的包装的项目。好消息是maven作为原型(生成项目的工具),所以这实际上是一个非常简单的步骤。只需输入以下命令:

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

在Windows上,在命令窗口中的一行中键入此命令,而不在末尾添加“\”。在* nices,您可以按原样粘贴它。一旦执行,您将按照Maven的惯例准备好使用webapp项目结构:

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

如果要直接在webapp项目中添加Java类,请创建一个src/main/java目录并将源代码放在那里(测试类进入src/test/java,测试资源将进入src/test/resources )。有关默认布局的概述,请参阅Introduction to the Standard Directory Layout

对于Spring项目,通常需要在pom.xml文件中添加Spring依赖项,并将应用程序上下文文件放在src/main/resources中(此目录中的文件在类路径中可用,并且被复制到WEB-INF/classes)。

要构建webapp(编译类,编译测试,执行测试,打包webapp),只需运行:

$ mvn package

这将在目标目录中创建一个.war:

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

要运行webapp,我建议使用Tomcat Maven Plugin

$ mvn tomcat:run

此基本用例无需额外配置。检查the examples以获取更多高级用例。

另一种选择是使用Jetty Maven Plugin(在开发过程中通常首选)。为此,请将jetty-maven-plugin添加到pom.xml定义中:

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

执行:

mvn jetty:run

启动jetty(并让它扫描您的项目文件以进行更改)。

Cargo Maven Plugin允许以容器不可知的方式执行类似的操作,但设置可能有点困难,至少对于高级用例。如果没有关于你想要做什么的更多细节,我暂时不会推荐它。

答案 1 :(得分:2)

将项目设置为战争项目,请参阅http://maven.apache.org/plugins/maven-war-plugin/index.html
或者您可以将反应器样式项目与war模块一起使用,请参阅http://maven.apache.org/guides/mini/guide-multiple-modules.html

对于部署,您可以查看cargo插件

答案 2 :(得分:1)