最近公司要做个项目,用到spring boot,之前没接触过,所以找来了解一下,刚好已经有段时间没做web开发了,这次打算使用另一个我也没用过的东西来搭建项目——maven,是不是很out?我也觉得,没办法,之前接触面实在是很窄。
下面记录一下本次搭建项目的历程:
1.下载和安装
首先,Eclipse已经有了,跳过。
然后下载Maven最新版,http://maven.apache.org/download.cgi,windows系统下载这个就可以了。
下载后,解压到随便啥目录下(养成良好习惯,路径不要带中文)。例如D:/maven3.5.2。
然后,安装插件,在Eclipse的菜单Help->Install New Software,输入m2e,url输入:http://download.eclipse.org/technology/m2e/releases
好了,慢慢等吧(我是懒人,link方式的插件安装方式我就懒得搞了)。
2.配置
等待安装的期间,我们可以配置一下maven的环境变量,跟jdk很像:
新建一个 M2_HOME 指向刚刚解压的目录
然后在PATH中添加 %M2_HOME%\bin,o啦(注意分号)。
验证也跟jdk一样一样的,cmd输入mvn -v就可以看到是否成功了。
然后最好也改一下maven的本地仓库吧,maven的解压目录下的/conf/setting.xml文件,
找到<localRepository>标签,这个本来是注释掉的,里面也解释得很清楚,默认是系统盘用户名下的.m2文件夹下,这里把注释掉的<localRepository>标签放出来,改成你想定义的路径,这个目录要自己新建好。
好了,接下来就坐等插件安装好吧
PS:
setting.xml我还修改了一个地方,由于我默认创建的Maven项目是用了JRE1.5的,所以我加了默认为jdk1.7的部分,如下(加在profiles节点下):
<profile>
<id>jdk-1.7</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.7</jdk>
</activation>
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
</properties>
</profile>
然而,这里还有问题,虽然创建的时候默认是1.7了,但是有个问题还没解决,下面会说到。
----------
Eclipse安装好插件之后,重启,然后window->preperences,找到maven->Installations ,选择自己下载的那个,然后maven->user settings,选择自己的setting.xml文件,点击update settings可以看到下面的Local Repository变成我们刚刚自己修改的路径,ok!
3.HelloWorld
接下来就是尝试搞事情、额,不对,搞项目了。
File->New->Project->Maven->MavenProject
然后该Next的Next,该选项目类型的选项目类型(我是做web开发的,所以选了maven-archetype-webapp),然后输入项目名、包名等等
点Finish,就ok啦。(第一次创建项目会比较慢,因为maven在下载默认需要的包,下载后会放在前面自己配置的本地仓库目录下)。
项目结构大概就是这样啦,这里总结一下几个我遇到的问题
1)、新建好了之后,发现目录跟网上大部分前辈说的不一样,我新建后的目录是这样的:
发现没有,Source Folder少了几个,想自己新建,结果提示已经存在,一开始我创建的还是默认jdk1.5的,然后我手动改成1.7之后,其他的文件夹就出现了,所以我就按上面说的改了setting.xml文件,然而新创建的还是没有那几个缺少的目录,经过几次尝试,发现要手动修改一下项目的build path->libraries的JRE,切换一下任意一个选项
是的,就是切换,不是必须选哪个,因为切换一次之后,再切换回默认的那个,也可以正常显示资源文件夹,关于这点,我实在搞不明白,暂时先这样吧。
有哪位大神知道的还望指点一下。
2)、index.jsp报错
新建好项目之后,index.jsp总数出现个叉叉,作为强迫症的我,必须搞定它是不。
这个好像方法蛮多的,我这里列一个我觉得最方便的方式:
在pom.xml中添加以下内容就可以了:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
添加在dependencys节点下
---2018/1/19更新
最近遇到个很郁闷的情况,在家里电脑搭建Maven环境,创建项目的时候,总是不成功,主要是在第一次创建下载所需jar包时报错,网上查了好多,试过以下几种方法,都无法解决问题:
1)删除本地仓库中和报错提示对应的目录,使eclipse重新尝试下载jar包
2)删除本地仓库下文件名包含“lastupdate”的文件,使重新下载
最后,在各种尝试未果之后,出现新的报错,并通过该报错信息找到了解决办法,记录如下:
在Maven的设置中,添加Catalog,使用地址为:http://repo1.maven.org/maven2/archetype-catalog.xml
然后删除本地仓库所有文件,重新尝试新建项目,在新建项目时,选择刚刚添加的catalog,这时会加载一些模板(需要一点时间),接下来就正常创建成功了
然而,创建成功后又发现项目目录跟之前的不一样,变成这样了:
至于原因嘛,还没查,再说吧~~~
4.主角来了——spring boot
还是修改pom.xml:
project节点下添加:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.3.RELEASE</version>
</parent>
dependencys节点下添加:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
好了,保存下文件,然后右键项目->maven->UpdateProject
不报错的话,准备工作就算做完了。
5.跑起来试试
随便写个入口类,主要有以下几点:
1)类要添加以下注解
@RestController
@EnableAutoConfiguration
public class HelloWorld {
2)main方法需要实现SpringApplication的run方法
public static void main(String[] args){
SpringApplication.run(HelloWorld.class, args);
}
3)入口方法要加以下注解
@RequestMapping("/")
public String hello(){
return "Hahaha,HelloWorld";
}
准备就绪,右键项目->run as->java application,入口的注解决定了访问的url,像上面这般注解,在浏览器打开
http://localhost:8080/
就可以打开了。
啊啊,感觉自己好啰嗦啊,基本上就这样啦,接下来在项目中再多体会和尝试吧。