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 项目。

目录
打赏
0
0
0
0
15
分享
相关文章
Servlet开发流程 (里面有Idea项目添加Tomcat依赖详细教程)
本文详细介绍了Servlet的开发流程,包括在IntelliJ IDEA中添加Tomcat依赖的详细教程。通过上述步骤,开发者可以快速搭建并运行一个基本的Servlet应用,理解并掌握Servlet的开发流程对于Java Web开发至关重要。希望本文能够帮助开发者顺利进行Servlet开发,提高工作效率。
125 77
|
4月前
|
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
141 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
4月前
|
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
467 8
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
559 3
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
442 1
Maven——创建 Spring Boot项目
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
124 1
如何使用 maven 创建一个 Spring Boot项目
eclipse创建maven项目
本文介绍了在Eclipse中创建Maven项目的步骤,包括打开Eclipse、选择Java项目、完成项目创建以及自动下载插件的过程。
195 2
eclipse创建maven项目
除了 Maven,还有哪些工具可以管理项目的依赖和版本冲突
除了Maven,常用的项目依赖管理和版本冲突解决工具有Gradle、Ivy、Ant+Ivy、SBT等。这些工具各有特点,适用于不同的开发环境和需求。
517 2
|
5月前
|
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
340 1
【终极解决方案】IDEA maven 项目修改代码不生效。
【终极解决方案】IDEA maven 项目修改代码不生效。
840 1

推荐镜像

更多