要做一个基于C/S架构的汽车租赁系统,由于在实习期间接触过一些Java和SpringMVC,Spring,Hibernate的东西,所以决定使用这个框架组合来完成这个项目。

首先是Maven的配置,为啥要用Maven呢?"Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。"所以了解一下Maven是极好的。

我用的Maven是Eclipse插件。Eclipse是J2EE,Version: Luna Service Release 2 (4.4.2)),插件地址:http://m2eclipse.sonatype.org/sites/m2e

  • 一、创建一个Dynamic Web Project

File->new->Dynamic Web Project,然后填上项目名称,绑定Apache Tomcat 服务器。如果不是新建的Dynamic Web Project的话,就要修改工程的Project Facets,选中项目右键点击Properties,在Project Facets中选择Dynamic Web Module 和 Jave(只有经过上述两步操作才能在Tomcat中发布),如果修改此处后还是无法在Apace的tomcat service中Add此项目,就可以查看org.eclipse.wst.common.project.facet.core.xml的文件,里面配 置有各种版本信息。

  • 二、配置输出(Deployment Assembly)

右键项目文件,选择Properties,然后可以看到弹出的模态对话框中的Deployment Assembly项,点击,修改相应的Source和Deploy Path,它们表示发布项目的源文件,和编译之后的class的目录。这里要加上Maven包,只有这样Maven管理的包才能发布过去。或者可以直接修改修改.settings(在Navigation视图中)文件夹下的org.eclipse.wst.common.component文件中的配置,此配置是配置发布后对应的路径。

<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">

<wb-module deploy-name="carrental">

<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>

<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/config"/>

<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>

<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/webapp" tag="defaultRootSource"/>

<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test"/>

<property name="java-output-path" value="/carrental/build/classes"/>

<property name="context-root" value="accounts"/>

</wb-module>

</project-modules>

  • 三、配置Java Build Path

同样还是在项目的Properties面板下,可以看到Deployment Assembly项下有Java Build Path一项,点进去,可以看到Libraries一项下面增加了Maven dependencies。如果没有的话就说明Deployment Assembly没有配置好,重复检查一下。我们要做的呢就是在Java Build Path 的Order and Export中配置 Build Path,勾上Maven的管理包,如果Java jdk没有勾上,也要勾上。另外也可以修改.classpath文件,在其中加入包的依赖,这样在发布时可以将由Maven管理的包直接发布过去。如:

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

<classpath>

<classpathentry kind="src" path="src/test"/>

<classpathentry kind="src" path="src/main/config"/>

<classpathentry kind="src" output="target/classes" path="src/main/java">

<attributes>

<attribute name="optional" value="true"/>

<attribute name="maven.pomderived" value="true"/>

</attributes>

</classpathentry>

<classpathentry exported="true" kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">

<attributes>

<attribute name="maven.pomderived" value="true"/>

<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>

</attributes>

</classpathentry>

<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.8.0_40"/>

<classpathentry kind="output" path="target/classes"/>

</classpath>

以上的文件如果找不到的话,选中Window->show view->Navigator,切换到Navigator视图下就可以了。

  • 四、为Maven添加依赖的包

经过以上的步骤呢,基本的Maven管理包环境已经搭建好了,可以打开Pom.xml文件添加需要的包了,关于更多Pom.xml的信息可以参考这个blog:http://blog.csdn.net/zhuxinhua/article/details/5788546,它的几个重要视图作用分别是:

Overview:显示maven项目的一些基本信息.
Dependencies:添加jar包的页面
Plugins:添加maven插件的页面.比如tomcat-maven-plugin等.
Dependency Hierarchy:用于显示jar包的依赖关系.没事的时候可以看看jar包的依赖关系.
Effective POM:显示maven的编译路径,plugin之类的.也可以无视.
pom.xml:导入jar包的信息,可以在其中进行修改.重要

添加依赖的包就是在Dependencies视图下,把需要添加的包和其版本输入进去就可以了。当然也可以直接编辑pom.xml文件。

我这里添加了SpringMVC,Spring,Hibernate,Mysql connector等的包,相应的项目添加就行了。我的pom.xml文件如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.carrental</groupId>
  <artifactId>carrental</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>carrental Maven Webapp</name>
  <url>http://maven.apache.org</url>

      <properties>
        <junit.version>4.11</junit.version>
        <spring.version>4.1.4.RELEASE</spring.version>
        <hibernate.version>4.3.8.Final</hibernate.version>
        <log4j.version>1.2.17</log4j.version>
        <mysql.connector.version>5.1.34</mysql.connector.version>
        <aspectjweaver.version>1.8.4</aspectjweaver.version>
        <fastjson.version>1.2.3</fastjson.version>
        <druid.version>1.0.12</druid.version>
        <jackson.version>2.5.0</jackson.version>
        <jstl.version>1.2</jstl.version>
        <servlet.api.version>3.0-alpha-1</servlet.api.version>
        <shiro.version>1.2.3</shiro.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>

        <!-- spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!-- <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>asm</artifactId>
              <version>3.1.3.RELEASE</version>
        </dependency>

        <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-orm</artifactId>
              <version>4.1.4.RELEASE</version>
        </dependency> -->

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!-- springmvc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!-- 关系型数据库整合时需配置 如hibernate jpa等 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!-- hibernate -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-ehcache</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-c3p0</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <!-- log4j -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>

        <!-- mysql连接 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.connector.version}</version>
        </dependency>

        <!-- 数据源 druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>${druid.version}</version>
        </dependency>

        <!-- json -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>${jackson.version}</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>${jackson.version}</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${jackson.version}</version>
        </dependency>

        <dependency>
              <groupId>net.sf.json-lib</groupId>
              <artifactId>json-lib</artifactId>
              <version>2.2.2</version>
              <classifier>jdk15</classifier>
        </dependency>

        <!-- aop -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${aspectjweaver.version}</version>
        </dependency>

        <!-- servlet -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>${servlet.api.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>${jstl.version}</version>
        </dependency>

        <!--Apache Shiro所需的jar包 -->
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-core</artifactId>
            <version>${shiro.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-web</artifactId>
            <version>${shiro.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring</artifactId>
            <version>${shiro.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-ehcache</artifactId>
            <version>${shiro.version}</version>
        </dependency>

        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.8.3</version>
        </dependency>
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.3</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.5</version>
        </dependency>
        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
            <version>3.3.1</version>
        </dependency>

    </dependencies>

  <build>
    <finalName>accounts</finalName>
    <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
        </plugins>
  </build>
</project>

到这里呢,Maven的配置就大功告成了。

Eclipse下Maven插件配置的更多相关文章

  1. eclipse下maven插件的安装

    最近公司项目要求使用maven来进行项目的管理开发,在这里记录一下eclipse下maven插件的安装. maven插件在eclipse下安装害得我挺恼火的. 我想用最简单的那种方式--在线安装: 通 ...

  2. Eclipse中Maven插件配置

    1. Maven插件配置 http://www.blogjava.net/fancydeepin/archive/2012/07/13/eclipse_maven3_plugin.html 2. Ma ...

  3. eclipse的安装环境及eclipse下maven的配置安装

    之前安装zookeeper的时候,就配置过linux下的java环境,即安装过linux JDK,配置过JAVA_HOME   和PATH  变量,,, 现在要运行一个java客户端,来消费kafka ...

  4. eclipse下maven插件搭建springmvc之helloworld

    这几天学习了怎样使用maven,最终还是要回归web项目嘛,所以主要还是使用eclipse插件. 1 下载eclipse maven插件. 其实新版的eclipse已经集成了maven:lunar.m ...

  5. eclipse下maven一些配置方法汇总

    随着eclipse的不同版本的变更:对maven插件的安装也有着不同的差异:之前也在一些版本的eclipse上安装成功地,但是最近又遇到了一些麻烦,故将这些方法记录下来: 大家都知道的最常用的一种方式 ...

  6. Eclipse下安装及配置maven项目管理工具

    ①eclipse下maven插件安装. 本地maven安装.环境变量配置完成后,打开eclipse,点击eclipse菜单栏Help->Eclipse Marketplace搜索关键字maven ...

  7. Java-Maven(四):Eclipse集成Maven环境配置

    一般maven都需要集成到IDE上使用的,而不是单独的使用,常见的maven可集成IDE:eclipse.IntelliJ IDEA.但这里就只学习eclipse集成maven的基础上,进行maven ...

  8. Windows10下安装Maven以及Eclipse安装Maven插件 + 创建Maven项目

    在官网下载Maven      http://maven.apache.org/download.cgi 下载下来后加压缩,将apache-maven-3.5.4文件夹复制到想要存放它的位置,我放在了 ...

  9. 安装eclipse的maven插件

    我们团队用maven来管理项目需要的库文件,其实以前都没听过maven,第一次接触这个,师兄要我直接去装下这个,开始以为还挺简单的,没想到中间遇到了一些小麻烦,现在把我成功安装maven的过程分享下, ...

随机推荐

  1. Centos 6安装python3.5

    安装python3.5 安装步骤如下 :1 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件) yum groupinstall 'Development T ...

  2. Android 开发中使用 SQLite 数据库

    SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能. 此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP ...

  3. 转:MongoDB调查总结

    与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值 ...

  4. 转:视觉中国的NoSQL之路:从MySQL到MongoDB

    起因 视觉中国网站(www.chinavisual.com)是国内最大的创意人群的专业网站.2009年以前,同很多公司一样,我们的CMS和社区产品都构建于PHP+Nginx+MySQL之上:MySQL ...

  5. Es kibana

    http://kibana.logstash.es/content/kibana/v4/setup/production.html

  6. Android ContentProvider 简介

    当在系统中部署一个又一个Android应用之后,系统里将会包含多个Android应用,有时候就需要在小同的应用之问芡亭数据,比如现在有一个短信接收应用,用户想把接收到的陌生短信的发信人添加到联系人管理 ...

  7. 理解使用static import 机制(转)

    J2SE 1.5里引入了“Static Import”机制,借助这一机制,可以用略掉所在的类或接口名的方式,来使用静态成员.本文介绍这一机制的使用方法,以及使用过程中的注意事项. 在Java程序中,是 ...

  8. pl/sql 在一个程序块里打印日志输出到表格

    declare v_number NUMBER; v_number2 NUMBER; begin execute immediate 'truncate table t2'; insert into ...

  9. HDU 1083 Courses(最大匹配模版题)

    题目大意: 一共有N个学生跟P门课程,一个学生可以任意选一 门或多门课,问是否达成:    1.每个学生选的都是不同的课(即不能有两个学生选同一门课)   2.每门课都有一个代表(即P门课都被成功选过 ...

  10. sql server 修改字段大小

    alter table AAA ALTER COLUMN BBBvarchar(100);  这种语法只适合把字段往大了设置,  如果更新的字段大小比实际的要小时,并且数据库已存在比要更新的数据大时, ...