Java之Maven工程打包jar

下面是讲解如何使用Maven对Java工程进行打包生成jar文件的攻略:

准备工作

  1. 安装Java
  2. 下载并安装Maven
  3. 创建一个Maven工程

打包jar文件步骤

  1. 在Maven工程的根目录下,打开命令行窗口,执行 mvn package 命令,Maven会自动进行编译和打包jar文件。

  2. 执行成功后,在Maven工程的 target 目录下,就可以看到一个以 <JarName>-<JarVersion>.jar 命名的jar文件。

示例

下面通过两个示例详细讲解如何使用Maven打包jar文件:

示例一:使用Maven打包一个简单的Java工程

  1. 创建一个名为 hello-world 的Maven工程。
  2. hello-world 工程的 src/main/java 目录下创建一个名为 HelloWorld.java 的Java文件,文件内容如下:
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello,World!");
    }
}
  1. 在Maven工程的根目录下,执行 mvn package 命令,Maven会自动进行编译和打包jar文件。
  2. 执行成功后,在Maven工程的 target 目录下,就可以看到一个名为 hello-world-1.0-SNAPSHOT.jar 的jar文件。
  3. 在命令行窗口中执行 java -jar hello-world-1.0-SNAPSHOT.jar 命令运行该jar包,可以在控制台上看到输出结果 Hello,World!

示例二:使用Maven打包一个包含外部依赖库的Java工程

  1. 创建一个名为 json-demo 的Maven工程。
  2. json-demo 工程的 src/main/java 目录下创建一个名为 JsonDemo.java 的Java文件,文件内容如下:
import com.alibaba.fastjson.JSONObject;

public class JsonDemo {
    public static void main(String[] args) {
        String jsonStr = "{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"}";
        JSONObject jsonObject = JSONObject.parseObject(jsonStr);
        System.out.println(jsonObject.get("name"));
    }
}
  1. json-demo 工程的 pom.xml 文件中,添加以下代码片段,来引入 fastjson 的依赖库:
<dependencies>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.76</version>
    </dependency>
</dependencies>
  1. 在Maven工程的根目录下,执行 mvn package 命令,Maven会自动进行编译和打包jar文件。
  2. 执行成功后,在Maven工程的 target 目录下,就可以看到一个名为 json-demo-1.0-SNAPSHOT.jar 的jar文件。
  3. 在命令行窗口中执行 java -cp json-demo-1.0-SNAPSHOT.jar com.alibaba.fastjson.JSONObject 命令运行该jar包,可以在控制台上看到输出结果 Tom,说明依赖包已经被正确引入并使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java之Maven工程打包jar - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java实现简单控制台版ATM系统

    Java实现简单控制台版ATM系统攻略 1. 需求分析 控制台版ATM系统主要需要实现以下功能: 用户登录、注册 存款、取款、查询余额 转账功能 2. 技术选型 本篇攻略使用Java语言实现控制台版ATM系统,使用了Java IO、集合等基础知识进行编写。在框架上,本篇攻略并未用到任何框架。 3. 代码实现 代码实现主要分为以下几个部分: 3.1 用户登录、…

    Java 2023年5月18日
    00
  • Tomcat中catalina.out 和 catalina.log的区别和用途详解

    题目:Tomcat中catalina.out 和 catalina.log的区别和用途详解 概述 在Tomcat的日志输出中,经常出现catalina.out和catalina.log两个常用的日志文件,本篇攻略主要介绍这两个日志文件的区别和用途。 区别 在Tomcat中,catalina.out和catalina.log两个日志文件的区别主要表现在以下几个…

    Java 2023年6月2日
    00
  • Spring实战之Bean的作用域request用法分析

    Spring实战之Bean的作用域request用法分析 什么是Bean作用域 在Spring中,Bean作用域指的是一个Bean实例的创建和存在方式。Spring框架中有多种Bean作用域,包括“singleton”、“prototype”、“request”等。 singleton:Bean在整个应用程序中只有一个实例,即在容器启动时,Spring IO…

    Java 2023年5月19日
    00
  • SpringBoot原生组件注入实现两种方式介绍

    Spring Boot是一个快速开发框架,它提供了很多便捷的功能,其中之一就是组件注入。在Spring Boot中,我们可以使用两种方式来实现组件注入,分别是构造函数注入和属性注入。本文将详细讲解这两种方式的实现方法,包括以下内容: 构造函数注入的实现方法 属性注入的实现方法 示例一:使用构造函数注入 示例二:使用属性注入 1. 构造函数注入的实现方法 构造…

    Java 2023年5月15日
    00
  • Nett分布式分隔符解码器逻辑源码剖析

    Nett分布式分隔符解码器逻辑源码剖析 什么是Netty分布式分隔符解码器? Netty分布式分隔符解码器是一个可复用的组件,用于将输入流分割成单个的消息。 为什么要使用Netty分布式分隔符解码器? 在TCP等流式协议中,数据是以流的方式传输的,并且没有消息边界的概念。如果需要将输入流分割成单个的消息并进行处理,就需要用到解码器。 Nett分布式分隔符解码…

    Java 2023年5月20日
    00
  • Kafka中消息队列的两种模式讲解

    Kafka中消息队列的两种模式讲解 Apache Kafka是一个开源的分布式流处理平台,其主要功能是异步处理、发布和订阅消息。在Kafka中,消息队列的模式分为两种:点对点模式和发布/订阅模式。 点对点模式 点对点模式通常用于一个消息只能被一个消费者消费的场景,即一条消息只会被消费一次。这种模式中,消息被发送到Kafka中的一个队列中,在队列中等待消费者来…

    Java 2023年5月20日
    00
  • 使用JDBC工具类实现简单的登录管理系统

    使用JDBC工具类实现简单的登录管理系统需要以下步骤: 准备工作 在项目中引入JDBC依赖,如使用Maven引入jdbc依赖: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> &l…

    Java 2023年6月16日
    00
  • Java超详细整理讲解各种排序

    Java超详细整理讲解各种排序 本文详细讲解了Java中各种排序算法的实现方式及其时间复杂度。本文内容包括以下几个部分: 排序算法分类 冒泡排序 插入排序 选择排序 归并排序 快速排序 堆排序 排序算法分类 Java中的排序算法可以按照时间复杂度从小到大分为以下三类: 时间复杂度为O(n^2)的算法:冒泡排序、插入排序、选择排序 时间复杂度为O(nlogn)…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部