博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
写给初学者的Maven教程——10聚合项目
阅读量:3959 次
发布时间:2019-05-24

本文共 3538 字,大约阅读时间需要 11 分钟。

写给初学者的Maven教程——10聚合项目

一.概念介绍

一个完整庞大的工程,是可以分为很多个小的模块的,而这些模块单独的使用是不行的,这个时候可以使用Maven来将各个小的模块聚合起来成为一个完整的项目跑起来。

例如:电商项目中,包括商品模块、订单模块、用户模块等。就可以对不同的模块单独创建工程,最终在打包时,将不同的模块聚合到一起。

二.使用案例

1.创建Maven工程

在这里插入图片描述
创建好后pom.xml为:

4.0.0
com.taobao
Platform
1.0
pom
taobao-model

2.创建模块

在这里插入图片描述
在这里插入图片描述
创建好后pom.xml为:

4.0.0
com.taobao
Platform
1.0
taobao-model

这里演示了创建model模块,我们在下面的讲解里面还需要创建dao(jar),service(jar),merchant(war)(卖家),buyer(war)(买家)模块,方式一样这里不介绍。

接下来建立User类:
在这里插入图片描述

package model;public class User {
private String username; public String getUsername() {
return username; } public void setUsername(String username) {
this.username = username; }}

接下来创建IUserDao接口:

在这里插入图片描述

package dao;public interface IUserDao {
public void save(User user); public User findUserById(int id);}

当然这样会报错,我们需要在taobao-dao/pom.xml里面配置:

在这里插入图片描述
接下来创建UserDaoImpl:
在这里插入图片描述

package Impl;import dao.IUserDao;import model.User;public class UserDaoImpl implements IUserDao{
public void save(User user) {
// TODO 自动生成的方法存根 System.out.println("Dao保存用户"); } public User findUserById(int id) {
// TODO 自动生成的方法存根 System.out.println("Dao根据ID查用户"+id); return null; }}

创建IUserService:

在这里插入图片描述

package service;import model.User;public interface IUserService {
public void save(User user); public User findUserById(int id);}

这里需要想IUserDao那样配置一下可以解决找不到User的问题。

创建UserServiceImpl:

package Impl;import dao.IUserDao;import model.User;import service.IUserService;public class UserServiceImpl implements IUserService{
private IUserDao dao = new UserDaoImpl(); public void save(User user) {
// TODO 自动生成的方法存根 dao.save(user); } public User findUserById(int id) {
// TODO 自动生成的方法存根 return dao.findUserById(id); }}

buyermerchant(温馨提示:这两个war工程创建后需要在webapp下面添加web-inf目录,具体做法在前面文章讲过)的pom.xml里面配置:

com.taobao
taobao-service
1.0

在这里插入图片描述

接下来我们子工程需要一些jar包,可以直接在父工程Platform里面的pom.xml里面来配置:

junit
junit
4.10
javax.servlet
javax.servlet-api
3.1.0

我们可以继续在merchantbuyer里面创建Controller,这里我介绍其中一个:

在这里插入图片描述

package Controller;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import Impl.UserServiceImpl;import model.User;import service.IUserService;@WebServlet("/controller")public class UserController extends HttpServlet{
private IUserService service = new UserServiceImpl(); @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
service.save(new User()); resp.sendRedirect("welcome.html"); }}

然后我们需要先install一下Platform。

接下来可以参考我前面讲解的tomcat配置的文章来开启tomcat。
我的配置如下:

org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
/
8888

如果访问时报cannot be cast to javax.servlet.Servlet 可参考

访问localhost:8888/controller
在这里插入图片描述
在这里插入图片描述
最后说一下打包的问题:我们直接打包Platform是没有问题的,但是比方我们想要打包buyer这需要按照dao-service-buyer的顺序来打包,这是有依赖的顺序来决定的,实际上Platform打包就是按照的这个顺序

转载地址:http://oalzi.baihongyu.com/

你可能感兴趣的文章
hibernate 自动导入sql 文件import.sql 国际化编码的问题的解决方案
查看>>
第七颗头骨 & 忘魂花 凤凰
查看>>
李小龙哲学之言
查看>>
[心情] 如果有一天
查看>>
[Linux] 常用 linux 系统命令及维护备忘
查看>>
[Linux] 关于 Ext4 HowTo
查看>>
[杂记] 新年物语&关于Mysql引擎性能测试
查看>>
[心得] 近期更新&关于Infobright
查看>>
[杂记] 流量统计 & 短信接口
查看>>
[中间件] 消息处理利器 ActiveMQ 的介绍 & Stomp 协议的使用
查看>>
[设计] 原型界面设计利器 Balsamiq Mockups 推荐
查看>>
[闲话] 在西方的程序员眼里,东方的程序员是什么样的
查看>>
[管理] 成功之路的探寻 —— “三力” 理论
查看>>
[连载] Socket 深度探索 4 PHP (一)
查看>>
[无线] Android 系统开发学习杂记
查看>>
[无线] 浅析当代 LBS 技术
查看>>
[杂感] 缅怀乔布斯
查看>>
[无线] 让Android支持cmwap上网
查看>>
[无线] AndroidManifest.xml配置文件详解
查看>>
[移动] Mosquitto简要教程(安装/使用/测试)
查看>>