Maven自动创建web项目,附带Spring MVC版本兼容配置

1.使用下面命令模板构建自己的web项目


mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
例如:



测试一下:
mvn archetype:generate -DgroupId=com.inspiration -DartifactId=springapp -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

2.当要将maven自动创建的的web项目导入eclipse时,使用


mvn eclipse:eclipse  -Dwtpversion=2.0


或者在pom.xml里增加插件配置

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.8</version>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>false</downloadJavadocs>
<wtpversion>2.0</wtpversion>
</configuration>
</plugin>
如果项目出现红叉,可能elipse是复制maven创建的项目到你的eclipse的workspace,请到你的workspace下
进入这个项目,然后再次mvn eclipse:eclipse  -Dwtpversion=2.0。
自动创建项目后,还需要手动再创建一个java source包。


3.更新所使用的servlet版本(Update existing web.xml to support Servlet 2.5 (the default Servlet 2.3 is too old))

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
	      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	      http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	      version="2.5">
  <display-name>Archetype Created Web Application</display-name>
</web-app>

题外话:
a.在pom.xml中,可以使用下面的方式指定jar的版本



<properties>
		<spring.version>3.0.5.RELEASE</spring.version>
		<junit.version>4.11</junit.version>
		<jdk.version>1.6</jdk.version>
</properties>
<build>
		<finalName>CounterWebApp</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.0</version>
				<configuration>
					<source>${jdk.version}</source>
					<target>${jdk.version}</target>
				</configuration>
			</plugin>
		</plugins>
</build>

b.如果使用spring mvc 2.5.5 创建项目,构建企业级应用,版本兼容如下:

<dependencies>
        <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.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>2.5.5</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>2.0.4</version>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-taglibs</artifactId>
            <version>2.0.4</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>

        <dependency>
            <groupId>oro</groupId>
            <artifactId>oro</artifactId>
            <version>2.0.8</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-mock</artifactId>
            <version>2.0.8</version>
            <scope>test</scope>
        </dependency>
        
        <dependency>
	     <groupId>org.springframework.ldap</groupId>
	     <artifactId>spring-ldap</artifactId>
	     <version>1.2.1</version>
	</dependency>
      <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
            <version>4.4</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring</artifactId>
            <version>2.5.5</version>
        </dependency>

        <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>jsr250-api</artifactId>
            <version>1.0</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>

        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.2</version>
        </dependency>

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>1.5</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>com.mockrunner</groupId>
            <artifactId>mockrunner</artifactId>
            <version>0.3.6</version>
            <scope>test</scope>
        </dependency>
   	 <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.3</version>
        </dependency>
   </dependencies>
好记性不如写博客记录,坚持,积累。

你可能感兴趣的:(spring,web2.5,Maven创建web项目)