intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)
需求:第三方提供了http api接口,我们需要将其数据全部取回来,存放到本地Mysql数据库。
开发工具是intelj idea,准备基于maven创建聚合项目,util作为工具包,单独作为一个工程,打包时打成jar包;
dao层依赖util,打包时也打成jar包;
service依赖dao层,打包时也是打成jar包;
controller层依赖service层,打包时打成war包。
1.新建root工程
File--New Project--




2.新建子module
在下图中,对着步骤一新建的root工程右击,新建module




3.分别查看root工程和子工程的pom文件


4、新建dao 子工程,依赖common-utils

在pom文件中,手动添加依赖:

5、新建service 子工程,依赖dao子工程
操作同第四步。
同样,我们要修改service的pom文件,手动加dao子工程的依赖进来。

6、新建controller工程,该工程应该为web工程,依赖service层



完成后在pom文件中增加对service的依赖。

7、测试工程是否正常
设想:因为clicent是web工程,pom文件中依赖service组件;于是---将service.jar拷贝到web/lib目录下
在本地maven找到service组件后,根据service的pom文件,发现其依赖dao组件;于是将dao.jar拷贝到web/lib目录下
在本地找到dao组件后,在其pom中,发现dao组件依赖common-utils组件;于是找到common-utils组件后,将common-utils.jar拷贝到lib目录下
在common-utils中新增一个工具方法,通过dao/service/controller层层调用,所以可以直接请求controller层,调用到utils的方法。



在client的web中新增一个servlet:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>Simple</servlet-name>
<servlet-class>com.newthreeboard.SimpleServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Simple</servlet-name>
<url-pattern>/simple-servlet</url-pattern>
</servlet-mapping>
</web-app>


依次点击clean、compile、package后,会得到一个war包

查看打成的解压的war包目录,其lib目录下:

这边先直接拷贝到tomcat的web-apps下执行,看看效果:

启动tomcat后,

在浏览器中进行调用:
http://localhost:8080/newthreeboard-client/simple-servlet
此时页面请求后一片空白,没有任何反应,因为我们没有输出东西,但是在tomcat的界面可以看到:

至此,简单的聚合项目构建ok。
intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)的更多相关文章
- IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目
转自:http://www.php-note.com/article/detail/854 IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目 作者:php- ...
- eclipse中创建多模块maven web项目
本文讲述在eclipse中创建分模块maven web项目. 暂时将一个项目分为controller:service:dao以及父类模块四部分. 1.创建父类模块. 创建一个简单的maven proj ...
- maven(二)创建一个maven的web项目中解决Cannot change version of project facet Dynamic web module to 2.5
我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一 ...
- idea 创建 SSM + maven Java Web 项目流程
idea 创建 SSM + maven Java Web 项目流程 一.idea 中选择File,New Project 新建项目 二.选择Maven,勾选上面的Create from archety ...
- Eclipse 构建Maven项目--普通web项目
一.Maven项目的新建 1.鼠标右键---->New----->Maven Project 2.直接点下一步 3.选中 maven-archetype-webapp 后点击下一步 4. ...
- maven构建java项目、web项目
maven构建java项目.web项目 一.mvn构建web项目 1安装mvn(包括path) 2命令:mvn archetype:create -DgroupId=cn.edu.sdau.neat ...
- eclipse中 将java项目转换为web项目
来自:http://jadethao.iteye.com/blog/1331308 eclipse中 将java项目转换为web项目 1.找到项目工作空间目录,打开.project文件,并修改文件, ...
- eclipse中 将java项目转换为web项目 博客分类: Tomcat
1.找到项目工作空间目录,打开.project文件,并修改文件, 修改如下: 找到:<natures> </natures>代码段,在代码段中加入如下内容并保存: ...
- 【转贴】 Flex 预编译处理 与 手机项目、Web项目、Air项目自由转换
原文连接: http://bbs.9ria.com/forum.php?mod=viewthread&tid=263350#lastpost 由于这个论坛不稳定,所以转到这里来,这个帖子蛮有用 ...
- 2、MyEclipse和Eclipse调优,MyEclipse配置(tomcat和jdk的内存设置),jar引入相关知识点,将Java项目编程web项目的办法
1.WindowàPreferenceàGeneralàWorkspaceàText file encoding都改成UTF-8 2.WindowàPreferenceàGeneralàEdito ...
随机推荐
- python 全栈开发,Day3
python之集合,深浅copy 一.集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把 ...
- Django数据模型——通用字段选项
字段 一个模型最重要也是唯一必需的部分,是它定义的数据库字段 字段名称限制 1.字段名不能是python保留字,这样会导致python语法错误 2.字段不能包含连续一个以上的下划线,这样会和Djang ...
- Linux系统-解压缩命令集合
Linux系统-解压缩命令集合 linux zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. ...
- ios滑动流畅(丝般顺滑)滚动
在ios html->body->list(少一个样式都不行!) html->body->list <!DOCTYPE html> <html lang=&q ...
- 利用Java生成UUID
UUID是什么? UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分.其目的,是 ...
- 【Docker】 Swarm简单介绍
[Swarm] Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源.Swarm ...
- 大数据 --> ProtoBuf的使用和原理
ProtoBuf的使用和原理 一.简介 Protobuf是一个灵活的.高效的用于序列化数据的协议.相比较XML和JSON格式,protobuf更小.更快.更便捷.Protobuf是跨语言的,并且自带了 ...
- Algorithm --> 爬楼梯求最大分数
爬楼梯求最大分数 如下图,最大分数是: 10+20+25+20=75. 要求: 1.每次只能走一步或者两步: 2.不能连续三步走一样的,即最多连续走两次一步,或者连续走两次两步: 3.必 ...
- [日常] 最近的一些破事w...
更新博文一篇以示诈尸(大雾 (其实只是断了个网然后就彻底失踪了一波w...连题解都没法写了QAQ) $ \tiny{诈尸的实际情况是老姚提前走还把十一机房门锁了然而钥匙在联赛的时候就还了于是并不能进去 ...
- breeze源码阅读心得
在阅读Spark ML源码的过程中,发现很多机器学习中的优化问题,都是直接调用breeze库解决的,因此拿来breeze源码想一探究竟.整体来看,breeze是一个用scala实现的基 ...