Maven其他配置
我们做Web开发的时候,会遇到一个比较糟糕的问题,写好一个项目以后,复制到朋友那里,发现不能用了,报很多莫名其妙的错误,很多包都不见了。
在Maven里,有一种办法可以解决这个问题。
需要用到一个插件——Tomcat7-maven-plugin
首先创建一个Maven项目src->main->webapp新建一个目录WEB-INF(webapp相当于网站根路径,以后可以在这里放JSP)
在里面新建一个web.xml文件(报错消失)
(新建的Maven项目别忘了配置plugin插件,详情参见Maven基本配置)
我们来看一下这个Web项目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出现下图,下载成功
接下来引入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请求乱码问题。地址栏的字符集称为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中设置的属性值可以在整个文档中任意地方使用。