如何使用MAVEN打JAR包(直接使用)

yizhihongxing

下面是如何使用MAVEN打JAR包的完整攻略。

步骤一:创建Maven项目

首先需要创建一个Maven项目,可以使用Maven自带的命令创建,具体步骤如下:

  1. 打开控制台,执行如下命令创建项目:
mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart
  1. 等待Maven完成项目的创建,并进入到项目根目录。

步骤二:编写代码

在项目中编写需要打包成JAR文件的代码,这里就不赘述了,可以自行编写需要的代码。

步骤三:配置pom.xml文件

  1. 配置打包方式

在pom.xml文件中,需要配置如下plugin:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.0.2</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>com.example.demo.App</mainClass> <!-- 指定启动类 -->
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

上面的plugin设置了使用maven-jar-plugin插件,同时配置了manifest中的addClasspath选项为true,表示JAR包中包含classpath路径,还指定了mainClass的值为com.example.demo.App,表示启动类的包路径。

  1. 配置项目依赖

如果需要使用其他第三方库,则需要在pom.xml文件中添加它们的依赖。以引入SLF4J及其Log4j实现为例,配置如下:

<dependencies>
    <!-- SLF4J日志框架 -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.25</version>
    </dependency>

    <!-- Log4j2实现 -->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>2.8.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.8.2</version>
    </dependency>
</dependencies>

更多依赖项可以参考Maven中央仓库

步骤四:执行打包命令

执行如下Maven打包命令,将项目打包成JAR文件:

mvn package

命令执行完成后,在项目的target目录中,会生成my-app-1.0-SNAPSHOT.jar文件(如果你使用的是示例命令创建的项目,则生成的文件名是my-app.jar)。

示例一:打包一个hello world程序

  1. 创建一个名为helloworld的Maven项目
mvn archetype:generate -DgroupId=com.example -DartifactId=helloworld -DarchetypeArtifactId=maven-archetype-quickstart
  1. 修改pom.xml文件,添加如下配置:
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.0.2</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>com.example.App</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>
  1. 编写一个hello world程序,在src/main/java/com/example/App.java中添加如下代码:
package com.example;

public class App {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
  1. 执行打包命令:
mvn package

执行完成后,在target目录下生成helloworld-1.0-SNAPSHOT.jar文件。

  1. 运行jar包

在终端中输入下列命令:

java -jar target/helloworld-1.0-SNAPSHOT.jar

控制台打印出Hello World!即可。

示例二:打包一个Web项目

  1. 创建一个名为webproject的Maven项目
mvn archetype:generate -DgroupId=com.example -DartifactId=webproject -DarchetypeArtifactId=maven-archetype-webapp
  1. 修改pom.xml文件,添加如下配置:
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.0.2</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>com.example.App</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>
  1. 在src/main/java/com/example/目录下创建App.java文件,并添加如下代码:
package com.example;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class App implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent servletContextEvent) {
        System.out.println("Web project started.");
    }

    @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {
        System.out.println("Web project stopped.");
    }
}

这里实现了ServletContextListener接口,声明Web项目的启动和停止时需要执行的操作。

  1. 在src/main/webapp/WEB-INF/目录下创建web.xml文件,添加如下Servlet配置:
<web-app>
  <servlet>
    <servlet-class>com.example.HelloServlet</servlet-class>
    <servlet-name>hello-servlet</servlet-name>
  </servlet>
  <servlet-mapping>
    <servlet-name>hello-servlet</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>
  <listener>
    <listener-class>com.example.App</listener-class>
  </listener>
</web-app>
  1. 在src/main/java/com/example/目录下创建HelloServlet.java文件,添加如下代码:
package com.example;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "HelloServlet", urlPatterns = {"/hello"})
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        resp.getOutputStream().println("Hello World!");
    }
}

这里实现了Servlet接口,并覆盖了doGet方法,在访问/hello路径时返回"Hello World!"字符串。

  1. 执行打包命令:
mvn package

执行完成后,在target目录下生成webproject-1.0-SNAPSHOT.jar文件。

  1. 运行jar包

在终端中输入下列命令:

java -jar target/webproject-1.0-SNAPSHOT.jar

访问http://localhost:8080/hello即可看到返回的"Hello World!"字符串。

通过以上示例,可以看到如何使用Maven打包成JAR文件,并执行相关操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何使用MAVEN打JAR包(直接使用) - Python技术站

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

相关文章

  • Android实现与Apache Tomcat服务器数据交互(MySql数据库)

    接下来我将详细讲解“Android实现与Apache Tomcat服务器数据交互(MySql数据库)”的完整攻略。 1. 确定需要的框架和工具 在实现Android与Apache Tomcat服务器数据交互(MySql数据库)之前,你需要明确需要的框架和工具。例如: Android Studio:用于开发Android应用程序; Apache Tomcat:…

    Java 2023年5月19日
    00
  • 使用BindingResult 自定义错误信息

    下面是关于使用BindingResult自定义错误信息的完整攻略。 一、BindingResult简介 在Spring MVC框架中,接受前端数据的方法一般会使用@ModelAttribute或@RequestBody注解对参数进行声明,此时也可以添加BindingResult类型的参数,用于接收数据绑定时产生的错误信息。 BindingResult是Spr…

    Java 2023年6月15日
    00
  • Java开发之手把手教你搭建企业级工程SSM框架

    Java开发之手把手教你搭建企业级工程SSM框架攻略 什么是SSM框架 SSM框架是一种JavaWeb企业级开发常用的框架组合,包括Spring、SpringMVC、Mybatis三个流行的框架,可以快速搭建出具备高可用性和高性能的JavaWeb应用。其中Spring主要负责控制反转和依赖注入、SpringMVC主要负责MVC框架的搭建、Mybatis主要负…

    Java 2023年5月19日
    00
  • Java Servlet上传图片到指定文件夹并显示图片

    下面是Java Servlet上传图片到指定文件夹并显示图片的完整攻略: 步骤一:准备工作 首先,你需要在项目中创建一个用于存储上传图片的文件夹。例如,我们在项目的根目录下创建一个名为“upload”的文件夹。然后,需要在Web.xml中配置文件上传的处理器。 <servlet> <description>This is my ser…

    Java 2023年5月20日
    00
  • java版十大排序经典算法:完整代码(4)

    下面是详细讲解 “java版十大排序经典算法:完整代码(4)” 的攻略。 1. 前言 “java版十大排序经典算法” 系列文章是介绍常见排序算法的一系列文章,本篇为第四篇,主要介绍了 希尔排序、归并排序、快速排序这三个经典算法的 Java 代码实现。 2. 希尔排序 希尔排序是基于插入排序的一种高效的排序算法,也称“缩小增量排序”。利用增量序列将数组分成多个…

    Java 2023年5月19日
    00
  • Spring Data JDBC介绍及实现代码

    Spring Data JDBC 是 Spring Framework 的一个子项目,它通过简化数据持久化操作来降低开发人员的工作量。Spring Data JDBC 不同于其他的 ORM 框架,它并不需要实体类与表间的映射,而是基于传统的 JDBC 封装来进行操作,并且支持 SQL 和存储过程的调用。 Spring Data JDBC 的使用包含以下几个步…

    Java 2023年5月20日
    00
  • java二维数组遍历的2种代码

    下面是详细讲解“Java二维数组遍历的2种代码”的完整攻略。 什么是二维数组 二维数组是指数组中包含另一个数组序列的数组。它是一种存储表格数据的有效方式。Java 二维数组是一个矩阵式的数组,数据被组织成了行和列,因此每个元素在矩阵中都有自己的位置。 Java二维数组遍历的2种代码 1. 使用双重for循环遍历 int[][] arr = {{1,2,3},…

    Java 2023年5月27日
    00
  • 使用Java的Spring框架编写第一个程序Hellow world

    使用Java的Spring框架编写第一个程序Hello world的完整攻略如下: 1. 准备工作 在开始编写Spring程序之前,我们需要做一些准备工作。 1.1 安装JDK和Maven 在开发Spring程序之前,需要安装JDK和Maven。 1.1.1 安装JDK 首先,我们需要安装JDK。到Oracle官网上下载安装包,安装完成后配置环境变量。 1.…

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