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

-2 java maven-2

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

Pas*_*ent 6

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

$ mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp \
                       -DgroupId=com.stackoverflow.q2220593 \
                       -DartifactId=myfirstwebapp \
                       -Dversion=1.0-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)

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

$ cd myfirstwebapp/
$ tree .
.
|-- pom.xml
`-- src
    `-- main
        |-- resources
        `-- webapp
            |-- WEB-INF
            |   `-- web.xml
            `-- index.jsp
Run Code Online (Sandbox Code Playgroud)

如果要直接在webapp项目中添加Java类,请创建一个src/main/java目录并将源放在那里(测试类进入src/test/java并且测试资源将进入src/test/resources).有关默认布局的概述,请参阅标准目录布局简介.

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

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

$ mvn package
Run Code Online (Sandbox Code Playgroud)

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

$ ls target/
classes  maven-archiver  myfirstwebapp  myfirstwebapp.war  test-classes  war
Run Code Online (Sandbox Code Playgroud)

要运行webapp,我建议使用Tomcat Maven插件:

$ mvn tomcat:run
Run Code Online (Sandbox Code Playgroud)

此基本用例无需额外配置.查看示例以获取更高级的用例.

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

<plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>jetty-maven-plugin</artifactId>
</plugin>
Run Code Online (Sandbox Code Playgroud)

并执行:

mvn jetty:run
Run Code Online (Sandbox Code Playgroud)

启动jetty(让它扫描你的项目文件进行更改).

货物Maven插件将允许做类似的事情在一个容器中不可知的方式,但它可能是一个有点难以建立,至少对于高级用例.如果没有关于你想要做什么的更多细节,我现在不推荐它.