Maven其他配置

我们做Web开发的时候,会遇到一个比较糟糕的问题,写好一个项目以后,复制到朋友那里,发现不能用了,报很多莫名其妙的错误,很多包都不见了。
在Maven里,有一种办法可以解决这个问题。

需要用到一个插件——Tomcat7-maven-plugin
首先创建一个Maven项目
Maven其他配置src->main->webapp新建一个目录WEB-INF(webapp相当于网站根路径,以后可以在这里放JSP)
在里面新建一个web.xml文件(报错消失)
Maven其他配置
(新建的Maven项目别忘了配置plugin插件,详情参见Maven基本配置

我们来看一下这个Web项目
Maven其他配置java目录和resource目录效果一样,最终都会发布到WEB-INF/classes,以后java目录写代码,resource目录放配置文件。
java目录和resource目录,统称为class path

接下来部署Tomcat7-maven-plugin插件(通常用于快速本地部署)
在pom.xml中添加代码:

  		<plugin>
  			<groupId>org.apache.tomcat.maven</groupId>
  			<artifactId>tomcat7-maven-plugin</artifactId>
  			<version>2.2</version>
  			<configuration>
  				<path>/</path>
  				<port>9090</port>
  				<uriEncoding>UTF-8</uriEncoding>
  			</configuration>
  		</plugin>

插件已经准备就绪了,运行这个插件:选中项目右键->Debug As->Maven build
填写命令:tomcat7:run
点击Apply,Debug

Maven其他配置出现下图,下载成功
Maven其他配置
接下来引入ServletAPI,MySQL依赖(百度搜索mvn寻找依赖)

 <dependencies>
	<dependency>
	    <groupId>javax.servlet</groupId>
	    <artifactId>javax.servlet-api</artifactId>
	    <version>3.1.0</version>
	    <scope>provided</scope>
	</dependency>		
	<dependency>
	    <groupId>mysql</groupId>
	    <artifactId>mysql-connector-java</artifactId>
	    <version>5.1.47</version>
	</dependency>
  </dependencies>

注:使用tomcat7插件可以避免GET请求乱码问题。Maven其他配置地址栏的字符集称为uriEncoding,默认字符集ISO-8859-1,这里设置为UFT-8(整个项目的字符集也为UTF-8)
使用这个插件,访问路径和端口可以自己定制。

Maven中还可以设置属性
通常在顶部之后,依赖之前,写一个properties。

  <properties>
  	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  	<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
  	<servlet.version>3.1.0</servlet.version>
  </properties>

servlet.version为自定义属性,以后可以使用${servlet.version}代表3.1.0
properties中设置的属性值可以在整个文档中任意地方使用。