在 Eclipse IDE 中创建多模块 Maven 项目

在本教程中,我想与大家分享如何在 Eclipse IDE 中创建多模块 Maven 项目。有一个非常常见的开发场景,我们需要开发一个包含一些模块的应用程序,如下图所示:

你看,这个应用程序有一些在控制台程序和桌面程序之间共享的通用代码。构建为 Maven 项目,它将包含 3 个模块:共享库、控制台应用程序和桌面应用程序。每个模块都是一个单独的项目。

下图解释了一个包含多个模块的 Maven 项目结构:

 

这里, CompanyProject 是根 Maven 项目(打包类型必须是pom)。SharedLibrary 项目是第一个模块;ConsoleApp 项目是第二个模块;DesktopApp 是第三个模块。模块的打包类型可以是jarwar

现在,让我们看看如何在 Eclipse IDE 中创建这个多模块 Maven 项目。

 

1.创建根Maven项目

在 Eclipse 中,单击File > New > Project...并从 New project 向导中选择Maven > Maven project :


 

在 New Maven Project 对话框中,选中 Create a simple project (skip archetype selection) 选项:

 

然后输入项目名称并指定 Maven 项目的信息,如下所示:

 

选择包装类型是 pom。单击完成。Eclipse 将创建一个简单的 Maven POM 项目,作为子模块的根项目。


2.创建第一个Maven模块

接下来,让我们为共享库项目创建第一个 Maven 模块。在 Package Explorer/Project Explorer 视图中右键单击 CompanyProject,然后从上下文菜单中选择New > Project...。然后在 New Project 对话框中选择 Maven Module:

 

然后在 New Maven Module Dialog 中,选中“Create a simple project”选项,并输入模块名称为 SharedLibrary,如下所示:

 

如果要为此模块指定项目信息,请单击下一步。否则单击完成以创建与根项目具有相同 groupId 的第一个模块。

您可以注意到一个新模块被添加到根项目的pom.xml文件中,如下所示:

<project ...>
     
    [...]
     
    <groupId>com.mycompany</groupId>
    <artifactId>CompanyProject</artifactId>
    <packaging>pom</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <description>Root Maven project</description>
     
    <modules>
        <module>SharedLibrary</module>
    </modules>
 
    [...]   
 
</project>

这里,根项目的打包类型是pom。而在 SharedLibrary 项目中,其父信息指定如下:

<project ...>
 
    <parent>
        <artifactId>CompanyProject</artifactId>
        <groupId>com.mycompany</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
 
    <artifactId>SharedLibrary</artifactId>
 
    [...]
     
</project>

然后在 SharedLibrary 项目中编写一个简单的类,如下所示:

package com.mycompany;
 
public class CommonUtility {
 
    public static String getAppName() {
        return "My Company App Beta version";
    }
}

控制台应用程序和桌面应用程序都将使用静态方法getAppName() 。


3.创建第二个Maven模块

同样,为 ConsoleApp 项目创建第二个 Maven 模块。而在 ConsoleApp 项目中,应该是引用了pom.xml文件中的 SharedLibrary 项目如下:

<project ...>
    [..]
 
    <artifactId>ConsoleApp</artifactId>
 
    <dependencies>
        <dependency>
            <groupId>com.mycompany</groupId>
            <artifactId>SharedLibrary</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
 
    [..]
 
</project>

并编写简单的控制台程序如下:

package com.mycompany;
 
public class ConsoleApp {
 
    public static void main(String[] args) {
        String appName = CommonUtility.getAppName();
        System.out.println("Welcome to " + appName);
    }
}

你看,这个类使用了 SharedLibrary 项目中的 CommonUtility 类。 


4.创建第三个Maven模块

接下来,让我们为 DesktopApp 项目创建第三个 Maven 模块。根项目的pom.xml应更新为包含 3 个模块,如下所示:

<project ...>
 
    <groupId>com.mycompany</groupId>
    <artifactId>CompanyProject</artifactId>
    <packaging>pom</packaging>
    <version>0.0.1-SNAPSHOT</version>
     
    <modules>
        <module>SharedLibrary</module>
        <module>ConsoleApp</module>
        <module>DesktopApp</module>
    </modules>
 
    [...]
 
</project>

出于演示目的,使用以下代码为桌面程序编写一个简单的 Swing 程序:

package com.mycompany;
 
import javax.swing.*;
import java.awt.*;
 
public class DesktopApp extends JFrame {
    static String appName = CommonUtility.getAppName();
 
    public DesktopApp() {
        super(appName);
        init();
    }
 
    private void init() {
        setLayout(new FlowLayout());
        add(new JLabel("Welcome to " + appName));
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(640, 480);
        setLocationRelativeTo(null);
    }
 
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new DesktopApp().setVisible(true);
            }
        });
    }
}

你看,这个类还使用了 SharedLibrary 项目中的 CommonUtility 类。 


5. 在 Eclipse IDE 中构建一个 Multi-Module Maven 项目

要在 Eclipse 中构建整个多模块 Maven 项目,请右键单击根项目,然后选择Run As > Maven install... Maven 将构建这个包含子模块的多模块项目,如下所示:

现在您可以检查每个项目中的目标目录。Maven 应该已经为那里的每个项目生成了 jar 文件。

这就是在 Eclipse IDE 中创建多模块 Maven 项目的方法。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Eclipse开发入门与项目实践 Eclipse开发入门与项目实践 源代码 Eclipse开发入门与项目实践 源代码 Eclipse开发入门与项目实践 源代码 第一部分 开发入门 第1章 Eclipse概述及开发环境搭建 2 1.1 Eclipse概述 2 1.1.1 Eclipse的由来和发展 2 1.1.2 Eclipse的结构和平台内核 2 1.2 Eclipse开发环境的搭建 3 1.2.1 JDK的安装 4 1.2.2 JDK环境变量的设置 5 1.2.3 Eclipse的安装 6 1.2.4 Eclipse多国语言包的安装 8 1.2.5 Eclipse文本编辑器编码的设置 10 第2章 EclipseJDT的开发 11 2.1 Java项目开发初体验 11 2.1.1 新建Java项目 12 2.1.2 导入外部Java类 16 案例2-1 随机抽奖程序的实现 18 2.1.3 打开及关闭已有Java项目 22 2.2 Eclipse编写Java程序的技巧 24 2.2.1 新建Java类 24 2.2.2 代码编写过程Eclipse的帮助 26 案例2-2 猜数游戏程序的实现 29 2.2.3 Java程序调试技巧 34 2.2.4 Eclipse提高工作效率的其他措施 40 案例2-3 人员信息察看程序的实现 40 案例2-4 一对一聊天程序的实现 52 第3章 Eclipse数据库应用开发 59 3.1 基于MySQL的数据库系统的开发 59 3.1.1 下载并安装MySQL 59 3.1.2 下载并安装MySQL服务器端管理工具 64 3.1.3 下载并安装MySQL客户端查询浏览工具 65 案例3-1 连接MySQL数据库实现用户身份的验证 67 3.2 基于Oracle数据库系统的开发 73 3.2.1 安装Oracle数据库管理系统 73 3.2.2 启动和停止Oracle服务 79 3.2.3 使用Oracle提供的企业管理器和SQL Plus 80 案例3-2 在Oracle数据库存取图片 81 3.3 基于SQL Server数据库系统的开发 86 3.3.1 SQL Server的安装 86 3.3.2 启动SQL Server服务 88 3.3.3 SQL Server主要集成环境简介 88 案例3-3 连接SQL Server数据库实现员工信息查询 90 3.4 使用JDBC-ODBC桥连接数据源 95 3.4.1 配置数据源 95 3.4.2 连接ODBC数据源 97 案例3-4 实现不同类型数据库之间的数据迁移 99 第4章 EclipseWeb应用开发 103 4.1 EclipseJava Web开发环境的搭建 103 4.1.1 安装应用服务器Tomcat 104 4.1.2 安装Eclipse的Tomcat插件 108 4.1.3 安装Eclipse的Lomboz插件 110 4.2 基本JSP程序的开发 112 案例4-1 实现Java Web页面的登录验证 113 4.3 JSP+JavaBean两层开发模式 125 案例4-2 新闻模块的实现(两层结构) 126 4.4 JSP+JavaBean+Servlet三层开发模式 138 案例4-3 新闻模块的实现(三层结构) 140 第5章 EclipseStruts的开发 154 5.1 Struts概述 154 5.2 开发Struts Web应用的基本过程 156 5.2.1 EclipseStruts开发环境的搭建 156 案例5-1 实现商务网站身份验证模块 157 5.2.2 Struts工作原理详述 171 5.3 Struts应用程序的国际化及表单验证 174 5.3.1 Struts应用程序的国际化 174 案例5-2 实现身份验证应用程序的国际化 178 5.3.2 Struts应用程序的表单验证 182 案例5-3 实现身份验证应用程序的表单验证 183 5.4 Struts应用进阶 187 5.4.1 Struts JDBC连接池 187 案例5-4 依据数据库已注册用户的信息进行用户身份验证 188 5.4.2 动态ActionForm 192 案例5-5 使用动态ActionForm实现身份验证的新用户注册 193 5.4.3 Validator验证框架 197 案例5-6 使用Validator验证框架实现注册表单的数据验证 201 5.4.4 Struts标记库 206 案例5-7 采用Struts标记库实现身份验证应用相关页面 207 第6章 EclipseHibernate的开发 211 6.1 Hibernate概述 211 6.2 开发Hibernate应用的基本过程 212 案例6-1 基于Hibernate连接MySQL数据库实现员工信息查询 214 6.3 Hibernate与Struts的结合应用 223 案例6-2 结合Hibernate和Struts实现商务系统身份验证 224 第7章 EclipseSWT/JFace开发 237 7.1 安装SWT Designer 237 7.2 SWT/JFace程序基本实现过程 242 案例7-1 SWT/JFace开发初体验 243 7.3 SWT/JFace的事件处理机制 251 案例7-2 借助SWT/JFace实现录入信息有效性检查 253 7.4 SWT/JFace的常用组件 258 案例7-3 借助SWT/JFace实现文件阅读器 259 7.5 SWT/JFace的线程 264 案例7-4 在SWT/JFace实现多线程效果 265 第8章 Eclipse插件开发 273 8.1 Eclipse插件开发简介 273 案例8-1 Eclipse插件开发初体验 274 8.2 Eclipse插件开发基本过程 277 案例8-2 Eclipse插件开发的基本过程 277 8.3 基于数据库系统的Eclipse插件开发 288 案例8-3 Eclipse插件数据库的应用 288 第二部分 项目实践 第9章 Shopping Online网站概述及设计方案 296 9.1 Shopping Online购物在线网站总体描述 296 9.1.1 项目背景 297 9.1.2 网站开发基本流程 297 9.2 方案设计 298 9.2.1 设计原则 298 9.2.2 运行架构 299 9.3 模块划分及界面设计 300 9.3.1 模块划分 300 9.3.2 界面设计 301 第10章 Shopping Online网上购物系统实现 310 10.1 系统设计 310 10.1.1 需求分析 310 10.1.2 总体设计 311 10.1.3 功能设计 312 10.2 数据库设计与实现 313 10.2.1 数据库的需求分析 313 10.2.2 数据库的逻辑设计 313 10.2.3 创建数据表的脚本 316 10.3 系统实现 318 10.3.1 实现效果 318 10.3.2 用户表示层 323 10.3.3 数据持续层 341 10.3.4 业务逻辑层 351 10.3.5 控制处理层 361 10.3.6 技术难点详解 383 第11章 Shopping Online网站后台维护心 385 11.1 系统设计 385 11.1.1 需求分析 385 11.1.2 总体设计 386 11.1.3 功能设计 387 11.2 数据库设计与实现 387 11.2.1 数据库的需求分析 387 11.2.2 数据库的逻辑设计 388 11.2.3 创建数据表的脚本 388 11.3 网上商城后台维护管理系统 388 11.3.1 实现效果 388 11.3.2 用户表示层 394 11.3.3 数据持续层 400 11.3.4 业务逻辑层 401 11.3.5 控制处理层 404 11.3.6 技术难点详解 419 “必知必会”索引 422 源代码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值