一、在eclipse中安装Maven的插件 (http://www.eclipse.org/downloads/)
二、修改eclipse的一些配置,以支持maven web项目的部署和启动
1、修改eclipse.ini文件,在-vmargs选项前面添加(注意分两行,并且不能在路径前面添加空格)
-vm
C:\Program Files\Java\jdk1.6.0_38\bin\javaw.exe
2、设置eclipse的jdk路径 【Installed JREs信息】
Window -> Preferences -> Java -> Installed JREs 点击"Add"按钮,选择默认的"Standard VM", 点击"Next >", 点击"JRE home"右边的"Directory"选择文件C:\Program Files\Java\jdb1.6.0_38\jre。一直“确定”,回到"Installed JREs"界面,在刚添加的"jre6"打上勾。
3、选择目录树中的Installed JREs -> Execution Environments", 点选界面左侧的"J2SE-1.5",然后在右侧点选"jdk1.6", JavaSE-1.6也相同设置
4、将新版jdk指定为默认 java-> compiler中将compiler compliace level 设置为6.0
5、添加tomcat服务, server -> Runtime Enviroment -> Add
6、http://blog.csdn.net/jinxinxin1314/article/details/4433134
7、下载 http://tomcat.heanet.ie/native/1.1.2/binaries/win32/tcnative-1.dll, 然后复制到C:\windows\system32下面
注:以上过程还可以解决“Unable to locate the Javac Compiler in”、“Missing artifact com.sun:tools:jar:1.5.0“问题
三、创建Web项目
参见:http://blog.csdn.net/quincylk/article/details/8510968
四、项目配置
参见:http://blog.csdn.net/micwing/article/details/7554148
1、为项目添加src/main/java、 src/test/java、 src/test/recource 目录
2、给项目添加Facets功能,如图(特别要注意路径的设置)
3、设置项目部署程序集
五、一些xml的编写
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.hera.app</groupId>
<artifactId>Hera</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>Hera Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- 单元测试库 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- 日志 -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging-api</artifactId>
<version>1.1</version>
</dependency>
<dependency> <!-- 这里为什么使用log4j的groupId会报错? -->
<groupId>org.mod4j.org.eclipse.xtext</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
</dependency>
<!-- spring 依赖库 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.0.5.RELEASE</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-dao</artifactId>
<version>2.0.8</version>
</dependency>
<dependency>
<groupId>org.springframework.orm</groupId>
<artifactId>org.springframework.orm</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-asm</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<!-- struts -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.2.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
<version>2.2.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-config-browser-plugin</artifactId>
<version>2.2.3.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.2.3.1</version>
</dependency>
<!-- 数据库相关依赖库 -->
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>mysql-connector-java</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.22</version>
</dependency>
<!--
<dependency>
<groupId>ibatis</groupId>
<artifactId>ibatis</artifactId>
<version>2.3.4.726</version>
</dependency> -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.0.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.0.2</version>
</dependency>
<!-- XML文件操作 -->
<dependency>
<groupId>xerces</groupId>
<artifactId>xmlParserAPIs</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<!-- Json -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
</dependencies>
<build>
<finalName>Hera</finalName>
<defaultGoal>compile</defaultGoal>
<pluginManagement>
<plugins>
<plugin>
<!-- 该plugin用于指定编译器的版本 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
六、通过tomcat部署
参见:http://www.cnblogs.com/cbf4life/archive/2010/01/29/1659502.html
1、配置tomcat,增加用户和权限 (其他的maven web项目可以共用)
2、修改maven的setting.xml,为服务增加对应的配置(每个maven web项目都要添加)
3、在项目的pom.xml中增加配置 (添加在plugins中)
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<configuration>
<url>http://localhost:8080/manager</url>
<server>Hera</server>
</configuration>
</plugin>
4、启动tomcat (这一步不能忘记,否由执行第5步会出现connect 失败)
5、在项目的Run as中配置命令 package tomcat:redeploy,之后执行,会生成一个war包,并部署到tomcat对应的目录下
6、停止tomcat (前面启动是为了通过manager生成war)
7、Run as => Run on server启动项目,当然也可以直接再次重新启动tomcat
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd" >
<localRepository>E:/EclipseJeeWorkspace/maven/repository</localRepository>
<servers>
<server>
<id>nexus-snapshots</id>
<username>deployment</username>
<password>deployment</password>
</server>
<server>
<id>Hera</id>
<username>admin</username>
<password>password</password>
</server>
</servers>
<mirrors>
<mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<url>http://121.199.27.193:8081/nexus/content/groups/public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
</settings>
注:http://www.itivy.com/java/archive/2012/3/17/634675819914772496.html (打印SQL语句,UTF-8问题)
注:mybatis 自动生成代码工具 http://blog.csdn.net/kkdelta/article/details/7228177 http://blog.csdn.net/fu9958/article/details/7521681
http://www.jpriv.net/technology/jetty-in-eclipse.html eclipse run on jetty