要做一个基于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文件如下:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.carrental</groupId>
  5. <artifactId>carrental</artifactId>
  6. <packaging>war</packaging>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <name>carrental Maven Webapp</name>
  9. <url>http://maven.apache.org</url>
  10.  
  11. <properties>
  12. <junit.version>4.11</junit.version>
  13. <spring.version>4.1.4.RELEASE</spring.version>
  14. <hibernate.version>4.3.8.Final</hibernate.version>
  15. <log4j.version>1.2.17</log4j.version>
  16. <mysql.connector.version>5.1.34</mysql.connector.version>
  17. <aspectjweaver.version>1.8.4</aspectjweaver.version>
  18. <fastjson.version>1.2.3</fastjson.version>
  19. <druid.version>1.0.12</druid.version>
  20. <jackson.version>2.5.0</jackson.version>
  21. <jstl.version>1.2</jstl.version>
  22. <servlet.api.version>3.0-alpha-1</servlet.api.version>
  23. <shiro.version>1.2.3</shiro.version>
  24. </properties>
  25.  
  26. <dependencies>
  27. <dependency>
  28. <groupId>junit</groupId>
  29. <artifactId>junit</artifactId>
  30. <version>${junit.version}</version>
  31. <scope>test</scope>
  32. </dependency>
  33.  
  34. <!-- spring -->
  35. <dependency>
  36. <groupId>org.springframework</groupId>
  37. <artifactId>spring-core</artifactId>
  38. <version>${spring.version}</version>
  39. </dependency>
  40.  
  41. <!-- <dependency>
  42. <groupId>org.springframework</groupId>
  43. <artifactId>asm</artifactId>
  44. <version>3.1.3.RELEASE</version>
  45. </dependency>
  46.  
  47. <dependency>
  48. <groupId>org.springframework</groupId>
  49. <artifactId>spring-orm</artifactId>
  50. <version>4.1.4.RELEASE</version>
  51. </dependency> -->
  52.  
  53. <dependency>
  54. <groupId>org.springframework</groupId>
  55. <artifactId>spring-beans</artifactId>
  56. <version>${spring.version}</version>
  57. </dependency>
  58.  
  59. <dependency>
  60. <groupId>org.springframework</groupId>
  61. <artifactId>spring-context</artifactId>
  62. <version>${spring.version}</version>
  63. </dependency>
  64.  
  65. <dependency>
  66. <groupId>org.springframework</groupId>
  67. <artifactId>spring-tx</artifactId>
  68. <version>${spring.version}</version>
  69. </dependency>
  70.  
  71. <dependency>
  72. <groupId>org.springframework</groupId>
  73. <artifactId>spring-web</artifactId>
  74. <version>${spring.version}</version>
  75. </dependency>
  76.  
  77. <dependency>
  78. <groupId>org.springframework</groupId>
  79. <artifactId>spring-test</artifactId>
  80. <version>${spring.version}</version>
  81. <scope>provided</scope>
  82. </dependency>
  83.  
  84. <dependency>
  85. <groupId>org.springframework</groupId>
  86. <artifactId>spring-aspects</artifactId>
  87. <version>${spring.version}</version>
  88. </dependency>
  89.  
  90. <!-- springmvc -->
  91. <dependency>
  92. <groupId>org.springframework</groupId>
  93. <artifactId>spring-webmvc</artifactId>
  94. <version>${spring.version}</version>
  95. </dependency>
  96.  
  97. <!-- 关系型数据库整合时需配置 如hibernate jpa等 -->
  98. <dependency>
  99. <groupId>org.springframework</groupId>
  100. <artifactId>spring-orm</artifactId>
  101. <version>${spring.version}</version>
  102. </dependency>
  103.  
  104. <!-- hibernate -->
  105. <dependency>
  106. <groupId>org.hibernate</groupId>
  107. <artifactId>hibernate-core</artifactId>
  108. <version>${hibernate.version}</version>
  109. </dependency>
  110.  
  111. <dependency>
  112. <groupId>org.hibernate</groupId>
  113. <artifactId>hibernate-ehcache</artifactId>
  114. <version>${hibernate.version}</version>
  115. </dependency>
  116.  
  117. <dependency>
  118. <groupId>org.hibernate</groupId>
  119. <artifactId>hibernate-c3p0</artifactId>
  120. <version>${hibernate.version}</version>
  121. </dependency>
  122.  
  123. <!-- log4j -->
  124. <dependency>
  125. <groupId>log4j</groupId>
  126. <artifactId>log4j</artifactId>
  127. <version>${log4j.version}</version>
  128. </dependency>
  129.  
  130. <!-- mysql连接 -->
  131. <dependency>
  132. <groupId>mysql</groupId>
  133. <artifactId>mysql-connector-java</artifactId>
  134. <version>${mysql.connector.version}</version>
  135. </dependency>
  136.  
  137. <!-- 数据源 druid -->
  138. <dependency>
  139. <groupId>com.alibaba</groupId>
  140. <artifactId>druid</artifactId>
  141. <version>${druid.version}</version>
  142. </dependency>
  143.  
  144. <!-- json -->
  145. <dependency>
  146. <groupId>com.alibaba</groupId>
  147. <artifactId>fastjson</artifactId>
  148. <version>${fastjson.version}</version>
  149. </dependency>
  150.  
  151. <dependency>
  152. <groupId>com.fasterxml.jackson.core</groupId>
  153. <artifactId>jackson-annotations</artifactId>
  154. <version>${jackson.version}</version>
  155. </dependency>
  156.  
  157. <dependency>
  158. <groupId>com.fasterxml.jackson.core</groupId>
  159. <artifactId>jackson-core</artifactId>
  160. <version>${jackson.version}</version>
  161. </dependency>
  162.  
  163. <dependency>
  164. <groupId>com.fasterxml.jackson.core</groupId>
  165. <artifactId>jackson-databind</artifactId>
  166. <version>${jackson.version}</version>
  167. </dependency>
  168.  
  169. <dependency>
  170. <groupId>net.sf.json-lib</groupId>
  171. <artifactId>json-lib</artifactId>
  172. <version>2.2.2</version>
  173. <classifier>jdk15</classifier>
  174. </dependency>
  175.  
  176. <!-- aop -->
  177. <dependency>
  178. <groupId>org.aspectj</groupId>
  179. <artifactId>aspectjweaver</artifactId>
  180. <version>${aspectjweaver.version}</version>
  181. </dependency>
  182.  
  183. <!-- servlet -->
  184. <dependency>
  185. <groupId>javax.servlet</groupId>
  186. <artifactId>servlet-api</artifactId>
  187. <version>${servlet.api.version}</version>
  188. <scope>provided</scope>
  189. </dependency>
  190.  
  191. <dependency>
  192. <groupId>javax.servlet</groupId>
  193. <artifactId>jstl</artifactId>
  194. <version>${jstl.version}</version>
  195. </dependency>
  196.  
  197. <!--Apache Shiro所需的jar包 -->
  198. <dependency>
  199. <groupId>org.apache.shiro</groupId>
  200. <artifactId>shiro-core</artifactId>
  201. <version>${shiro.version}</version>
  202. </dependency>
  203. <dependency>
  204. <groupId>org.apache.shiro</groupId>
  205. <artifactId>shiro-web</artifactId>
  206. <version>${shiro.version}</version>
  207. </dependency>
  208. <dependency>
  209. <groupId>org.apache.shiro</groupId>
  210. <artifactId>shiro-spring</artifactId>
  211. <version>${shiro.version}</version>
  212. </dependency>
  213. <dependency>
  214. <groupId>org.apache.shiro</groupId>
  215. <artifactId>shiro-ehcache</artifactId>
  216. <version>${shiro.version}</version>
  217. </dependency>
  218.  
  219. <dependency>
  220. <groupId>commons-beanutils</groupId>
  221. <artifactId>commons-beanutils</artifactId>
  222. <version>1.8.3</version>
  223. </dependency>
  224. <dependency>
  225. <groupId>commons-fileupload</groupId>
  226. <artifactId>commons-fileupload</artifactId>
  227. <version>1.3.1</version>
  228. </dependency>
  229. <dependency>
  230. <groupId>commons-lang</groupId>
  231. <artifactId>commons-lang</artifactId>
  232. <version>2.6</version>
  233. </dependency>
  234. <dependency>
  235. <groupId>commons-logging</groupId>
  236. <artifactId>commons-logging</artifactId>
  237. <version>1.1.3</version>
  238. </dependency>
  239. <dependency>
  240. <groupId>org.slf4j</groupId>
  241. <artifactId>slf4j-log4j12</artifactId>
  242. <version>1.7.5</version>
  243. </dependency>
  244. <dependency>
  245. <groupId>asm</groupId>
  246. <artifactId>asm</artifactId>
  247. <version>3.3.1</version>
  248. </dependency>
  249.  
  250. </dependencies>
  251.  
  252. <build>
  253. <finalName>accounts</finalName>
  254. <plugins>
  255. <plugin>
  256. <groupId>org.apache.maven.plugins</groupId>
  257. <artifactId>maven-compiler-plugin</artifactId>
  258. <configuration>
  259. <source>1.7</source>
  260. <target>1.7</target>
  261. </configuration>
  262. </plugin>
  263. </plugins>
  264. </build>
  265. </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. 关于Python文档读取UTF-8编码文件问题

    近来接到一个小项目,读取目标文件中每一行url,并逐个请求url,拿到想要的数据. #-*- coding:utf-8 -*- class IpUrlManager(object): def __in ...

  2. Request.QueryString 不能像使用方法那样使用不可调用

    想要获取URL栏中的字符串,于是敲下代码如下: string other = HttpContext.Current.Request.ServerVariables("QUERY_STRIN ...

  3. fpdf使用標楷體

    <? require('chinese-unicode.php'); $pdf=new PDF_Unicode(); $pdf->Open(); $pdf->AddPage(); $ ...

  4. [Android] 输入系统(三):加载按键映射

    映射表基本概念 由于Android调用getEvents得到的key是linux发送过来的scan code,而Android处理的是类似于KEY_UP这种统一类型的key code,因此需要有映射表 ...

  5. //string scriptstrs = "<script>alert('欢迎光临!');</script>";

    //string scriptstrs = "<script>alert('欢迎光临!');</script>"; //if (!Page.ClientSc ...

  6. 值得收藏的Javascript代码

    1  Javascript数组转换为CSV格式 首先考虑如下的应用场景,有一个Javscript的字符型(或者数值型)数组,现在需要转换为以逗号分割的CSV格式文件.则我们可以使用如下的小技巧,代码如 ...

  7. js iframe问题

    父窗口获得iframe的window对象,从而控制对iframe的控制 document.getElementById("frameID").contentWindow;

  8. hdu-1242 dfs+各种剪枝

    思路: 可以和1010一个思路.这个抽象的说就是让你求给定图中两点的最短距离,其实dfs的题目能变化的地方就在“终点的回溯处”,在我们到达终点后,再判断一些附加的值(本题里是最短距离是否更新),从而得 ...

  9. HPROF学习

    抓取HPROF log 1. GUI 可以通过 adt-bundle-windows-x86_64-20140702\sdk\tools\monitor.bat来抓取. 打开软件,选中相应的包,比如“ ...

  10. Flask 中的 SQLAlchemy 使用教程

    Flask 是一个 python web micro framework.所谓微框架,主要是 flask 简洁与轻巧,自定义程度高.相比 django 更加轻量级. 之前一直折腾 django,得益于 ...