Maven创建一个Servlet项目(五)上

简介: Maven创建一个Servlet项目(五)

一. Maven 两个项目的引用依赖


先来稍微用实例讲解一下,两个Maven jar类型的项目是如何进行依赖的, 感受一下,Maven的强大之处。


项目B 依赖于项目A 的某些类。


一.一 创建 项目A


(只是简单创建,不会创建的可以看第二章内容)


打开 eclipse, 文件—>新建—>其他–>找到Maven—>选择 Maven-Project


2019102417335178.png


20191024173549391.png


20191024173555868.png


pom.xml 下的信息为:


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.yjl</groupId>
  <artifactId>MavenA</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</project>


在 MavenA 项目下,在 src/main/java 创建一个类 Hello, 里面返回一下老蝴蝶的名字。


package com.yjl;
/**
 * @author 岳泽霖
 */
public class Hello {
  public String getName(){
    return "岳泽霖,花名 两个蝴蝶飞";
  }
}


一.二 创建项目B


与上面是同样的操作步骤。


2019102417361571.png


在 src/main/java 中创建一个 MyHello 类。


package com.yjl;
/**
@author 岳泽霖
*/
public class MyHello {
  public static void main(String []args){
    Hello hello=new Hello();
    System.out.println(hello.getName());
  }
}


会报 Hello 类没有找到的错误。


要想 MyHello 类可以调用 项目A里面的 Hello 类, 按照以前的做法,是将 项目A导出成 一个jar包,放置在 B 下面,添加到路径下,这样B 就可以引用了。 这一点也是与 Maven 一样的,但Maven 并不需要这么处理。


直接点击 MavenB 里面的 pom.xml ,选择第二个 Dependencies 选项卡,点击添加 依赖,搜索 MavenA, 发现可以搜索到,直接添加 Maven A依赖


2019102417363397.png


就可以发现 在 pom.xml 中添加了依赖


 <dependencies>
    <dependency>
      <groupId>com.yjl</groupId>
      <artifactId>MavenA</artifactId>
      <version>0.0.1-SNAPSHOT</version>
    </dependency>
  </dependencies>


与创建 MavenA时的 pom.xml 里面的内容是一致的。


不需要 再将 MavenA 打包后放置在 MavenB里面。


一.三 更新项目,解决出错的常用方法


发现,这个时候,虽然添加了依赖,但还是显示报错。


20191024173555868.png


不应该啊,已经添加 Hello.java 的依赖了啊 。 切记,一定要记住 Maven 工程中这种情况, 要更新一下 Maven项目。


选中项目B, 右键选中Maven, 选中 Update Project, 选中 MavenB, 进行确定即可。


20191024173706371.png


20191024173712766.png


这样,就发现项目A 已经导入进来了。


运行 MyHello.java , 以Application 的方式运行即可。控制台打印输出。


20191024173719728.png


一.四 直接修改项目,直接更新Jar 包。


上面的,普通的项目也可以做到了,没有什么骄傲的啊。 如果这个时候再修改 项目A 里面的内容,即 项目A的 Hello.java 里面的getName() 方法, 项目B要引用该怎么办呢? 先将修改好的项目A重新导出 Jar包,然后再放置到 MavenB 里面,重新运行B.


而 Maven 完全不需要这样。


如果你修改 Hello.java 中getName() 的方法返回值,如:


public String getName(){
    return "岳泽霖,原名岳建立";
  }


这个时候,不需要任何操作,只需要直接去项目B 下运行 MyHello.java 即可,控制台会自动打印新的输出语句。


20191024173728620.png


为什么可以直接运行呢,这就是 jar版本中 SNAPSHOT 快照的作用了。 关于快照的作用,可以看老蝴蝶第三章写的内容。


这只是Maven 强大的作用之一而已,而且是小小的之一。


Maven 的Jar项目,没有什么好讲的,主要的还是Web 项目。

相关文章
|
Java 应用服务中间件 API
Servlet开发流程 (里面有Idea项目添加Tomcat依赖详细教程)
本文详细介绍了Servlet的开发流程,包括在IntelliJ IDEA中添加Tomcat依赖的详细教程。通过上述步骤,开发者可以快速搭建并运行一个基本的Servlet应用,理解并掌握Servlet的开发流程对于Java Web开发至关重要。希望本文能够帮助开发者顺利进行Servlet开发,提高工作效率。
1745 78
|
Java 区块链 Maven
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
819 3
|
11月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
548 0
|
Java Maven 开发者
maven项目中官方setting.xml文件
`settings.xml` 是 Maven 的配置文件,用于定义用户或全局级别的构建行为。它包含本地仓库路径、网络代理、服务器认证、仓库镜像及构建配置文件等设置,帮助开发者根据环境定制 Maven 行为,提升构建效率与灵活性。
1689 0
|
Java 测试技术 项目管理
【JavaEE】从 0 到 1 掌握 Maven 构建 Java 项目核心技巧 解锁 Java 项目高效管理实用实例
本文从Maven基础概念讲起,涵盖安装配置、核心概念(如POM与依赖管理)及优化技巧。结合Java Web项目实例,演示如何用Maven构建和管理项目,解决常见问题,助你高效掌握这一强大工具,提升Java开发与项目管理能力。适合初学者及进阶开发者学习。资源链接:[点此获取](https://pan.quark.cn/s/14fcf913bae6)。
475 6
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
998 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
1324 1
Maven——创建 Spring Boot项目
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
1359 8
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
2898 3

推荐镜像

更多