一年前和checky同学合作写了一个Java Web项目IFTTT-Web。当时这个项目是作为课程的编程作业,为了尽快完成项目,我们选择在MyEclipse中进行开发。课程结束之后代码就一直搁置,有一天我想在Eclipse中重新配置项目(MyEclipse是收费软件,我的电脑里已经不再安装),但没有成功。Java Web项目比较复杂,除了Java代码之外,还包括JSP页面、JavaScript脚本、CSS文件等各种webapp需要的文件,想把一个已有的项目重新在Eclipse里运行起来,确实比较困难。
我当时尝试了一种更为“原始”的做法:在命令行下手工编译Java源文件,将编译后的字节码和webapp文件拷贝到Tomcat的目录下。这种方法当然成功了,但部署需要的手工操作太多,显然不是长久之计。直到不久之前,我才了解到Maven这个工具在Java世界里的重要地位,并开始在我的项目里使用Maven。这次我尝试用Maven重新构建一年前的项目,终于成功,在这里记录一下全部的过程。
主要步骤
- 生成Maven webapp项目骨架
- 更改目录结构
- 添加依赖
- 使用jetty
生成Maven webapp项目骨架
为了清晰直观,这里我先生成Maven webapp的目录骨架,再把已有的文件搬到对应的目录里。运行mvn archetype:generate
,注意artifactId选择org.apache.maven.archetypes:maven-archetype-webapp。
更改目录结构
首先让我们看一下更新之前的目录结构:
1 | . |
这是一个典型的MyEclipse生成的Java Web项目的目录结构,WebRoot目录下放着webapp需要的各种文件。需要注意的是,src和weibo都是source folder。
而上一步生成的Maven项目骨架是这个样子的:
1 | . |
按照Maven对webapp项目的约定,src/main/java放置Java源代码,src/main/resources放置资源文件,src/main/webapp放置JSP、JavaScript、CSS等文件,其中web.xml放置在src/main/webapp/WEB-INF目录下。
那么,原来的文件这样进行移动:
- src、weibo目录下所有包含Java源代码的子目录移动到src/main/java目录中
- 配置文件config.properties,log4j.properties移动到src/main/resources目录中
- WebRoot目录下所有的文件原样移动到src/main/webapp中
感觉移动起来还是挺简单的:) 原来的lib目录就不需要了,我们马上会使用Maven依赖来完成这个任务。文件移动之后的目录结构可以参看这里。
1 | . |
添加依赖
pom.xml文件:
1 | <dependencies> |
使用jetty
1 | <plugin> |
1 | mvn jetty:run |