码迷,mamicode.com
首页 > Web开发 > 详细

整理这几天搭建web项目更新的maven知识及项目配置

时间:2015-07-31 13:18:56      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

一、maven基本知识

1、groupid、artifactId、version

        用eclipse ee创建web项目时需要输入groupid、artifactId、version,它们是什么呢?        groupId:组织标识,例如com.baobaotao.ide,在本地仓库下将是com/baobaotao/ide。        artifactId: 项目名称,例如shop,在本地仓库目录下将是com/baobaotao/ide/shop。        version:版本号,例如1.0,在本地仓库目录下将是com/baobaotao/ide/shop/1.0

         对于pom文件中的第三方jar包依赖,如:

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-core</artifactId>

            <version>3.2.14.RELEASE</version>

        </dependency>

在远程仓库中必然有一个org/springframework/spring-core/3.2.14.RELEASE目录。

2、pom文件

       a. <parent>标签用于定义父pom文件,例如:

        <parent>

            <groupId>父模块组织标识</groupId>

            <artifactId>父模块项目名称</artifactId>

            <relativePath>模块POM的相对路径,默认为 ../pom.xml</relativePath>

            <version>版本</version>

        </parent>

子模块可继承父模块pom配置。子模块继承这些配置的时候,仍然要声明groupId和artifactId,表示当前配置是继承于父POM的,从而直接使用父POM的版本对应的资源,例如:

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-webmvc</artifactId>

        </dependency>

不写version表示使用父模块pom配置的spring-webmvc,这个功能可以有效的避免多个子模块使用依赖版本不一致的情况,有助于降低依赖冲突的几率。细节参考:http://blog.csdn.net/wanghantong/article/details/36427411

b. pom或者父模块pom配置里定义个版本号,可以使用${}语法取值,例如:

        定义了<junit.version>4.11</junit.version>后可以如下配置version

        <dependency>

                <groupId>junit</groupId>

                <artifactId>junit</artifactId>

                <version>${junit.version}</version>

                <scope>test</scope>

        </dependency>

3.修改配置文件自定义本地仓库路径和访问的远程仓库url

        maven安装目录conf文件夹下settings.xml文件记录了maven配置信息。 <localRepository>设置本地仓库位置,<mirror>设置远程仓库url。

4. 配置编译插件,防止update project后jar变为1.5

        <build>

            <plugins>

                <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-compiler-plugin</artifactId>

                <version>3.1</version>

                <configuration>

                <source>1.7</source>

                <target>1.7</target>

                </configuration>

                </plugin>

            </plugins>

        </build>

这是Maven已知的一个特性。除非在你的POM文件中显示的指定一个编译插件版本,否则会使用编译器默认的source/target版本1.5

5.maven web项目目录结构

        src/main/java  项目源代码目录

        src/main/resources  项目所需资源目录

        src/main/webapp  web应用目录包含WEB-INF,将这个目录部署到服务器

        src/test/java  测试代码目录

        src/test/resources  测试所需资源目录

        target  默认输出目录,存放项目.class文件和打包文件

        pom.xml

6.常用maven指令

        mvn archetype:create :创建 Maven 项目

        mvn compile :编译源代码

        mvn test-compile :编译测试代码

        mvn test : 运行应用程序中的单元测试

        mvn site : 生成项目相关信息的网站

        mvn clean :清除目标目录中的生成结果

        mvn package : 依据项目生成 jar、war…… 文件

        mvn install :在本地仓库中安装 jar

        mvn eclipse:eclipse :生成 Eclipse 项目文件

        mvn -Dmaven.test.skip=true : 忽略测试文档编译

7.依赖查找网站

        http://www.mvnrepository.com  这个网站极好

二、eclipse中project facets、java build path、deployment assembly配置

      1、dynamic web module

        project facets下的dynamic web module配置web应用版本,勾选它后出现弹窗可以配置web应用目录,如果遇到勾选后没有弹窗的情况,可以先不勾选点击应用后再勾选即可。注意:修改web应用版本后需要修改对应的web.xml文件。以下是不同web版本下的web.xml配置:

        web 2.3

        <?xml version="1.0" encoding="UTF-8"?>  

        <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">  

        <web-app>  

        </web-app>

        web 2.4

        <?xml version="1.0" encoding="UTF-8"?>  

        <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"   

            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

            xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  

        </web-app>  

        web 2.5

        <?xml version="1.0" encoding="UTF-8"?>  

        <web-app xmlns="http://java.sun.com/xml/ns/javaee"  

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  

        version="2.5">  

        </web-app> 

        web 3.0

        <?xml version="1.0" encoding="UTF-8"?>  

        <web-app  

                version="3.0"  

                xmlns="http://java.sun.com/xml/ns/javaee"  

                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

                xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  

        </web-app>  

2、java build path

        创建项目各种目录,配置目录的输出文件夹,以及默认输出文件夹,修改jre环境,添加删除依赖jar包、library

3、deployment assembly

        用于配置项目部署资源,通常这样配置:

        技术分享

整理这几天搭建web项目更新的maven知识及项目配置

标签:

原文地址:http://my.oschina.net/u/1476426/blog/485966

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!