本人有點傻,研究Maven研究了有一段時間,剛剛有些入門,記錄下來方便以后使用
工作環境:jdk7 myeclipse10 maven3.1.1
1 下載maven3.1.1
http://maven.apache.org/download.cgi
2配置環境變量
額,別問我為什么叫M2_HOME,事實上我感覺叫MAVEN_HOME更好一點
3 使用myeclipse 新建webproject 並勾選Add Maven support
4 配置maven
點擊add 選擇maven的文件夾就可以,盡量不要有中文路徑
項目建立后 文件夾結構例如以下
MyEclipse不會自己主動建立resources文件夾須要手動建立
以下須要編寫 pom.xml
詳細須要的東西 能夠到 http://mvnrepository.com 查找
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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>sshmaven</groupId> <artifactId>sshmaven</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name /> <description /> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.apache.openejb</groupId> <artifactId>javaee-api</artifactId> <version>5.0-1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> <!-- Struts2 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> <version>2.3.1</version> </dependency> <!-- 加入Hibernate依賴 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.6.5.Final</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <!-- 加入Log4J依賴 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-nop</artifactId> <version>1.6.4</version> </dependency> <!-- 加入javassist --> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.11.0.GA</version> </dependency> <!-- 加入Spring依賴 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.1.1.RELEASE</version> </dependency> </dependencies> <build> <directory>target</directory><!-- 這是打包的文件的路徑。默認是該工程的根文件夾。 --> <finalName>mavenwebdemo</finalName><!--生成的目標文件名稱 --> <defaultGoal>compile</defaultGoal> <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat6-maven-plugin</artifactId> <version>2.0-beta-1</version> <configuration> <url>http://localhost:8080/manager/text</url> <server>tomcat7</server> <username>admin</username> <password>admin</password> </configuration> </plugin> </plugins> </build> </project>
web.xml的配置
<span style="white-space:pre"> </span><filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext.xml</param-value> </context-param>struts.xml配置
<span style="white-space:pre"> </span><package name="myuser" namespace="/" extends="struts-default"> <action name="userAction" class="com.my.user.action.UserAction"> <result name="login">login.html</result> </action> </package>applicationContext.xml配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:component-scan base-package="com.my"/> </beans>
@Controller public class UserAction extends ActionSupport { @Resource private UserService userService; public void test() { System.out.println("hello maven"); userService.test(); } }
UserServices.java
@Service("userService") public class UserService { @Resource private UserDao userDao; public void test() { System.out.println("userservice"); userDao.test(); }
UserDao.java
@Repository public class UserDao { public void test(){ System.out.println("userdao"); } }
直接部署到tomcat6測試
訪問 http://localhost:8080/sshmaven/userAction!test
輸出結果
部署
在pom.xml文件點擊右鍵
刷新項目會在target文件夾出現
拷貝進tomcat就可以使用