eclipse下建立maven项目

使用maven管理项目,主要想解决的是依赖管理,不用再去到处找jar包,尤其是有复杂依赖关系的时候,看着项目lib文件夹中无数个apache commons不知道删哪个好真是心塞。随着项目进展,计划把项目的公共包拆成若干个maven module,便于项目解耦。另外,也可以利用maven的构建流程,把测试作为一项正式流程,解决之前随手测试的现状。

比较喜欢追eclipse新版本,已经用到了luna。虽然自从3.x时代到现在,界面一直没什么太大的变化,但是细节方面新版本一般都会有些不错的特性。只有一次,忘了是juno还是kepler了,窗口管理的界面风格变得花哨起来,奇慢无比,不得已降了一次版本号。后来在下一次升级大版本号之后,速度有变得可以接受了。

luna集成了m2eclipse插件,如果是旧版本的话,需要在marketplace中下载。更旧的连macketplace都没有的版本,还是去升级一下吧。

通过新建项目向导,新建Maven Project。

1

选择项目名称和项目位置。第一个选项如果选中的话,不会在下一步出现选择archetype的界面。

2

 

选择Archetype。需要建立的是Java web项目,所以选择maven-archetype-webapp。

3

输入项目的groupid和 artifact id后,创建项目结束。

4

创建项目后,直接出现一个编译错误。打开之后发现是build path中缺少serlet包引用。

5

打开项目中的pom.xml,添加引用。可以用插件提供的编辑器,也可以直接编辑xml文件。

由于servlet.jar不需要发布,所以级别选择provided。保存之后,项目的编译错没有了。

6

项目已经自动建立了一些文件夹,src/main/webapp相当于WebContent目录,已经建好了WEB-INF等java web项目必备的文件夹。

7

java source folder中,只有resource目录,想新建src/main/java目录,提示该目录已经存在。这个问题一直没有解决,只好用资源管理器直接建一个。新建完成后,自动就被添加未了source folder,不清楚m2eclipse在此处是什么用意。

此时,项目已经可以run on server了。遇见一个错误,run的时候没有出现tomcat选项。查了好长时间发现,我只安装了tomacat7,在project facet选择3.1的时候就会出现这种情况,改成3.0或者更低就行了。估计是tomcat不支持3.1.

8

在run as中,选择maven build,在Goals中输入package,就可以执行打war包的操作。刷新项目,可以看到打成的war包出现在target目录下。同时,会出现与项目同名的文件夹。注意这个文件夹中不是用于开发的文件,不要混淆。

9

10

Mybatis无效的列类型1111

写了一套mybatis配置文件自动生成框架,图方便就没写jdbctype,结果运行的时候抛出了这个异常:

Cause: java.sql.SQLException: 无效的列类型: 1111

在网上搜了搜,加上jdbcType就行了。

解决问题时主要的困惑点在于1111是哪来的,刚开始以为是项目硬编码进了这个数字,还搜索了半天。看了看mybatis的源代码,好像是在没有执行jdbcType的时候,最终会将某个变量设置为1111。不清楚框架为什么要这么设计,估计是个未完成的功能或者bug。

换域名,再开张

狗爹的域名忘了续费,再查看就一直是拍卖状态,明明是我自己注册的域名,宁愿多花钱也拿不回来。一着急,换了个最便宜的info域名,一年才15块钱。明年的事明年再说。

文字技术积累还是得做,最近打算写写用到的一些技术,还有新研究的hadoop。