首页 > 其他分享 >Maven对于jar包的理解

Maven对于jar包的理解

时间:2023-11-11 10:36:32浏览次数:33  
标签:项目 jar Jar HelloWorld Maven 理解 创建

@[TOC]

创建和使用Jar包是Java开发中的常见任务,Maven是一种流行的构建工具,用于管理项目依赖和构建Jar包。让我们通过Maven来演示如何创建和使用Jar包。

创建Jar包

步骤 1: 创建Maven项目

首先,确保您已经安装了Maven。然后,创建一个新的Maven项目,可以使用Maven的命令行工具或IDE(如Eclipse、IntelliJ IDEA)创建项目。

步骤 2: 编写Java类

在项目中编写Java类,这将是将要包含在Jar包中的类。假设您有一个名为HelloWorld的类:

public class HelloWorld {
    public String sayHello() {
        return "Hello, World!";
    }
}
步骤 3: 配置Maven构建

在项目的pom.xml文件中,配置Maven构建插件来打包Jar包。添加以下内容到pom.xml文件中:

<project>
    <!-- 其他项目配置 -->
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.example.HelloWorld</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

这个配置指定了Maven的maven-jar-plugin插件,以及应用程序的入口点(mainClass)。

步骤 4: 打包Jar包

在项目的根目录下,使用以下Maven命令来打包Jar包:

mvn package

这将生成一个Jar包,通常位于target目录下,文件名为项目的artifactIdversion,例如my-app-1.0-SNAPSHOT.jar

使用Jar包

步骤 1: 创建一个新Maven项目

如果您想在另一个Maven项目中使用刚刚创建的Jar包,首先创建一个新的Maven项目。

步骤 2: 添加依赖

在新项目的pom.xml文件中,添加对先前生成的Jar包的依赖。假设您的Jar包位于本地Maven存储库:

<project>
    <!-- 其他项目配置 -->
    
    <dependencies>
        <dependency>
            <groupId>com.example</groupId>
            <artifactId>my-app</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>
步骤 3: 使用Jar包中的类

在新项目的Java类中,您可以使用Jar包中的类,如HelloWorld

import com.example.HelloWorld;

public class MyApp {
    public static void main(String[] args) {
        HelloWorld helloWorld = new HelloWorld();
        System.out.println(helloWorld.sayHello());
    }
}
步骤 4: 构建和运行新项目

使用Maven构建和运行新项目:

mvn package
java -jar target/my-new-app.jar

这将运行新项目,其中使用了之前创建的Jar包中的类。

这是一个简单的示例,演示了如何使用Maven创建和使用Jar包。实际中,您可能会使用更复杂的项目结构和依赖关系,但这个示例提供了一个起点。如果您有任何具体问题或需要更多帮助,请随时提出。

标签:项目,jar,Jar,HelloWorld,Maven,理解,创建
From: https://blog.51cto.com/yang/8314649

相关文章

  • 轮询机制是什么意思(通俗理解轮询)
    轮询,英文polling。轮询是按照某种算法进行顺序触发,轮询时会保存当前执行后的索引,以便于下次执行时可以拿到开始索引位置,以达到负载均衡的目的。(表述不是太明确,望指正)轮流则是常规意义上的有顺序排列,而轮询则是按照某种算法进行排列。案例供思考1、一艘船漏水了,上面20个人,但是......
  • 以下对闭包(closure)理解正确的有 ABCD
    以下对闭包(closure)理解正确的有ABCDA闭包是指有权访问另一个函数作用域中变量的函数;B函数内再嵌套函数,返回到外部形成闭包;C内部函数可以引用外层的参数和变量D参数和变量不会被垃圾回收机制回收闭包的作用​ 1可以读取函数内部的变量​ 2可以把变量始终保存在内......
  • 新建Maven工程没有src/main...目录?
    0.必看:详细的Maven项目介绍1.问题我新建的Maven项目的pom.xml为空,且无法被识别,同时项目目录没有src/main等等2.解决这里设置的JDK版本不对,我选用了JDK19但是我的Maven仓库版本是3.6.1,默认版本应该是1.4,这里使用1.8也能兼容。但是使用JDK19是不兼容的!!!所以这里我重新设置......
  • Maven详解
    一.前言   以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar包的。最近一段时间在项目过程中使用Maven,用Maven构建的web项目,其项目结构只停留在了解阶段,没有深入的使用与理解,刚好最近看了一篇关于Maven的详解;就开始深入学习一下Maven的具体应用。......
  • 如何理解服务器架构
    服务器架构指的是服务器系统中不同组件和层级的布局、设计和互连方式。它包括硬件、软件和网络结构,确保服务器能够高效、可靠地运行,并适应不同类型的工作负载。1.硬件层面:在服务器架构中,硬件涉及到物理设备,包括处理器、存储、内存、网络接口、主板等。服务器硬件架构需要优化,以适......
  • 关于 can 的一些理解。
         我也是在板子上进行了测试,如果没有通讯的情况下,CANH与CANL确实是2.5V左右。 ......
  • 理解TiDB集群的P99计算方式
    一、背景简介在学习prometheus时,会遇到一个histogram_quantile()函数,用于对histogram类型的指标进行分位数计算,实际上这个函数就是histogram这个指标类型最常用的函数。此函数在tidb的监控图表中有一个比较明显地方使用:计算P99/P999Duration等延迟指标。新人们对此函数的理解是......
  • 多模块springboot项目打jar包 没有主清单属性
    说明:一个多模块的项目 两个子Module 一个core 一个server。java8的环境 |--XChome(pom.xmlxchome的 父级)--|--xc-core(pom.xmlxc-core的子级)--|--xc-server(pom.xmlxc-server的子级) xc-core:主要定义一些常量类、工具类、业务部分(controllerservice......
  • SpringBoot部署的jar包瘦身
    pom文件打包插件更换参考连接:https://www.jb51.net/program/293676eog.htm参考连接:https://blog.csdn.net/meng_9543/article/details/121329834<build><finalName>xxx-xxx</finalName><plugins><plugin>......
  • win系统下openjdk-maven-idea环境变量设置
    1、idea安装时可以选择自动添加到环境变量:2、openjdk设置环境变量:JAVA_HOME --》D:\java\jdk21path --》 %JAVA_HOME%\bin;%JAVA_HOME%\jre\binclasspath --》 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar命令检查安装版本 --》 java-v......