Java Web实战02--Maven学习以及如何建立动态网页工程

最近尝试建立Spring MVC做一个小的项目,发现得用maven进行依赖管理比较方便,因此尝试学习了一番,总结如下.


一、Maven学习和下载

 Maven官方解释:项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。因为Spring中有许多的各个功能库,并且还依赖了许多其他库,要想自己去一个个下载,然后放到工程lib中,是一个非常麻烦的事。Maven提供了功能,用XML文件描述工程所依赖的库,并自动到Maven的中央仓库下载,大大减少了查找文件带来的时间。

首先是参考了如下的视频学习:http://www.imooc.com/learn/443 。下面总结几个关键点:

1、下载Maven:https://maven.apache.org/。我这里下载apache-maven-3.3.9-bin.zip,然后解压在本地。

2、配置本机环境变量,在高级系统设置里面,新建一个系统变量MAVEN_HOME,输入值为解压的maven所在路径,比如我的为:E:\aaa\download\apache-maven-3.3.9-bin\apache-maven-3.3.9。

  然后在path变量里面最前面添加 %MAVEN_HOME%\bin;   注意最后有一个分号。ok,然后测试一下是否成功:

 

  注意:有的教程在这里新建的变量名为:%M2_HOME%,相应的下面path里面改为%M2_HOME%\bin,这两个都是可以的。

二、Eclipse的maven配置

  这里用的eclipse版本是Eclipse Java EE IDE for Web Developers,Version: Mars.1 Release (4.5.1)。默认安装有maven插件和配置了默认的maven。但是默认的版本太低,这里将其替换为最新下载的版本。具体操作如下:

  1、打开windows->preferences中找到maven选项,如果没有,可以在eclipse market中进行搜索安装,或者在自己下载后放到eclipse的安装目录中。这里默认有,就不做解释了。

  2、打开windows->preferences中找到maven->Installations,进行设置maven的版本。点击图中的add:


  然后在出现的界面中,找到前面解压的路径,加载进去:


最后完成,将默认的embedded版本去掉勾选,选择刚加载的最新版3.3.9,点击ok确定。

3、更改maven下载库的默认保存路径。maven默认保存的库在${user.home}/.m2/repository中,也就是c盘的用户目录下,当工程太大,下载的库太多,会很占用c盘空间,因此建议更改到其它路径。

在maven路径中,找到conf->setting.xml,用notepad++打开,在localRepository注释下面加一行,

<localRepository>E:/aaa/java/maven_jar</localRepository>

上面的路径为本机新建的一个maven jar包保存路径。

4、更改maven使用的jdk版本。maven默认生成的工程中,库版本为1.5,对于许多java新功能都不支持。虽然可以建立工程后再修改,但是需要修改好几个地方,比较麻烦(其实主要是强迫症= =)。本机安装的是java1.8,因此需要改为jdk1.8。

找到profiles,在<profiles>和</profiles>块中添加如下语句:

<profile>
		<id>jdk-1.8</id>
		<activation>
			<activeByDefault>true</activeByDefault>
			<jdk>1.8</jdk>
		</activation>
		<properties>
			<maven.compiler.source>1.8</maven.compiler.source>
			<maven.compiler.target>1.8</maven.compiler.target>
			<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
		</properties>
	</profile>
   保存如上文件。然后在 windows->preferences->maven->user Settings中,加载此文件,如下:

 这里,settings文件被我移动到maven_jar相同目录下了,便于管理。


  三、建立maven项目

点击新建maven工程,依次按照以下步骤:


上面第一个选择框,表示跳过选择骨架(下面的界面),建立一个简单的工程,即没有附加任何功能。


这里需要建立web工程,所以选择webapp的骨架,即为我们建立了WEB-INF、resources、index.jsp等文件。


分别输入组ID,项目名,点击完成即建立成功。此时,工程中文件index.jsp报错,需要在pom.xml中添加一个依赖包。打开maven repository网址:http://mvnrepository.com/。搜索servlet,选择最新版3.1.0,进入后复制器依赖包信息,如下:

<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
		</dependency>
添加到pom.xml中,点击保存即可。这是maven自动下载了servlet,如下:



四、转为Web工程

   以上maven构建的工程并不是完整的web工程,需要做一些处理。

   1、根据上面maven下载servlet的图,可以看到,java Resources中只有一个源代码文件夹,根据规范,需要四个src/main/java,src/main /resources,src/test/java ,src/test/resources,要再建立三个。

    直接在项目上右键,new->source folder,输入src/main/java。但是在我的eclipse上,没有这个文件夹,却有如下提示,这尼玛好坑啊。。搜了一下,可以在那navigator视图中创建。

   

  发现navigator视图没有显示,在windows->show viewes中添加:

 

然后再添加即可。

     2、转为web工程。在工程的属性界面,找到project facets,如下:

    

需要将图中的Dynamic web module 改为3.0。尝试直接修改,出错:

Cannot change version of project facet Dynamic web module to 3.0.

搞了蛮久才知道原因是:maven使用的webapp骨架版本太低,默认使用2.3版本的web,需要修改其配置文件。操作为:在navigator视图中,在.settings文件中,修改org.eclipse.wst.common.project.facet.core.xml文件,将文件中的2.3改为3.0。



3、打开web.xml文件,在其中修改xml头,改为3.0的,如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="schedule-console" version="3.0">
然后刷新整个工程即可。
4、测试。修改默认的jsp界面显示内容,如下:

<html>
<body>
<h2>Hello, this is maven web project!</h2>
</body>
</html>
然后运行tomcat服务,进行访问结果如下:


测试成功!


注意:

1、如上转换为web工程,比网上大多数的解决办法简单,主要是在settings.xml文件中设置了默认了的jdk版本。

如果没有设置,可参考如下链接:

http://my.oschina.net/cloudcoder/blog/362949

http://blog.csdn.net/steveguoshao/article/details/38414145

2、webapp的骨架可以自定义,参考如下链接(待尝试):

http://www.cnblogs.com/whitewolf/p/3606034.html




  








  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值