`
无心之悠
  • 浏览: 37061 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

Maven下,spring+struts2+ibatis整合

阅读更多
一、Maven的安装配置
参考此博客:http://qincao.iteye.com/blog/614022
PS:很简洁易懂,引用一下,呵呵

二、使用maven构建多工程
1、通过cmd,进入Dos下执行mvn创建指令
2、创建主工程,假设在E盘创建
mvn archetype:create -DgroupId=com.cy -DartifactId=mallshop -Dversion=1.0

备注:
  • <groupId>:一个项目群的ID,一个项目群可以包含多个项目
  • <artifactId>:一个项目的ID,是每个项目的唯一ID.
  • <version>:描述了项目当前的版本.
需要注意,必须修改pom.xml,参考错误一的解决方法

3、进入主工程下(Dos下执行cd E:\mallshop进入),创建多个子工程,如下:
mvn archetype:create -DgroupId=com.cy.biz.dal -DartifactId=mallshop-biz-dal -Dversion=1.0
mvn archetype:create -DgroupId=com.cy.biz.core -DartifactId=mallshop-biz-core -Dversion=1.0
mvn archetype:create -DgroupId=com.cy.biz.manager -DartifactId=mallshop-biz-manager -Dversion=1.0
mvn archetype:create -DgroupId=com.cy.web -DartifactId=mallshop-web -Dversion=1.0 -DarchetypeArtifactId=maven-archetype-webapp

 
引用
其中修改的重点为打包方式(war/jar)改为pom形式,这也就意味这这是一个父工程,另外版本号默认是SNAPSHOT意思是快照的意思,就是项目开发中的意思,你要是看着不爽可以把它删掉,另外需要说明一下dependencyManagement标签,这个标签表示子类可以隐式的继承父pom文件的依赖库,在子pom中不需要指定版本号,推荐这样,这样可以方便开发,你要修改什么依赖的版本只需要更改父pom就可以了,dependencies是显示继承,你要是在子pom中声明,就必须写明版本号,不写默认就继承了。


4、修改各个pom,添加相关依赖
  
  <dependency>
	<groupId>com.cy.biz.dal</groupId>
	<artifactId>cy-biz-dal</artifactId>
	<version>${project.version}</version>
  </dependency>


5、将Maven项目转为Eclipse项目
具体操作为将dos命令窗口切换到Maven项目的目录下,输入命令:
mvn eclipse:eclipse

6、导入eclipse
  • 在该项目上点右键Maven->Enable
  • 在该项目上点右键Build Path->Configure Build Path->Java Build Path->Libraries->去掉Maven添加的变量路径
  • 在该项目上点右键MyEclipse->Add Web Capabilities->修改Web root地址(点【浏览】按钮指定为当前工作空间下的src/main/webapp文件夹)
  • 配置完毕,可以用MyEclipse插件配置服务器等开始正常开发,自动部署,调试等操作了。


三、整合ssi
1、在主工程下的pom.xml中添加相应的配置,完整如下
<?xml version="1.0" encoding="UTF-8"?>
<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.cy</groupId>
  <artifactId>mallshop</artifactId>
  <packaging>pom</packaging>
  <version>1.0</version>
  <name>mallshop</name>
  <url>http://maven.apache.org</url>
 <dependencies>
   <dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.7</version>
			<scope>test</scope>
		</dependency>
	         <dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.14</version>
		</dependency>
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.2.2</version>
		</dependency>
		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
			<version>1.7.0</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-mock</artifactId>
			<version>2.0.8</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>2.5.6</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.9</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring</artifactId>
			<version>2.5.6</version>
		</dependency>
			<dependency>
			<groupId>org.apache.ibatis</groupId>
			<artifactId>ibatis-sqlmap</artifactId>
			<version>2.3.4.726</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.4</version>
		</dependency>
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
			<version>1.4.1</version>
		</dependency>
		<dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-jfreechart-plugin</artifactId>
    <version>2.1.8</version>
	</dependency>
  </dependencies>
  <build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.6</source>
					<target>1.6</target> 
					<encoding>GBK</encoding>
				</configuration>
			</plugin>
		</plugins>
	</build>
  <modules>
    <module>mallshop-biz-dal</module>
    <module>mallshop-biz-core</module>
    <module>mallshop-biz-manager</module>
    <module>mallshop-web</module>
  </modules>
</project>  

PS:具体根据自己的需要

2、执行如下mvn指令,完成
  mvn install
  mvn clean
  mvn eclipse:eclipse
  mvn clean package -Dmaven.test.skip=true;
  执行下载
  mvn eclipse:clean eclipse:eclipse -DdownloadSources=true

3、Bingo!整合完毕!!

在此过程中遇到错误整理:


1、未执行如下操作,就创建子工程,会报这样的错误:

引用
Embedded error: Unable to add module to the current project as it is not of packaging type 'pom'

解决方案:
修改主工程目录下的pom文件,设置如下:
<packaging>pom</packaging>

2、source 1.3 中不支持泛型
maven打包时始终出现以下提示:

引用
1、-source 1.3 中不支持泛型(请使用 -source 5 或更高版本以启用泛型)List<User> userList= new ArrayList<User>();

2、-source 1.3 中不支持注释(请使用 -source 5 或更高版本以启用注释)@WebService(endpointInterface = "com.webservice.service.LoadService")


解决办法:
用命令mvn -v查看结果:
引用
C:\Users\Administrator>mvn -v
Apache Maven 2.2.1 (r801777; 2009-08-07 03:16:01+0800)
Java version: 1.6.0
Java home: D:\Program Files\Java\jdk1.6.0\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows vista" version: "6.1" arch: "x86" Family: "windows"

PS:显然与所配置的JDK无关。

最终解决办法:

在项目的pom.xml(放在主工程下的)中,添加   
<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
    </plugins>
</build> 


再执行mvn install,OK。

3、新建的类中,右击,执行相应操作,会出现如下提示框:


原因是找不到路径,具体的操作方式如下:
在web工程中新建Source Folder,取名为src/main/resources或src/main/java,然后新建package,在此包下创建class;在src->main中新建Folder,取名为webconfig,存放spring配置文件  
  • 大小: 9.9 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics