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

下面是如何使用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日

相关文章

  • 通过spring用beanshell实现java接口示例

    通过Spring使用Beanshell实现Java接口的过程如下: 准备工作 首先,确保安装了Beanshell和Spring依赖项。在此过程中,我们将使用Gradle作为构建工具。在项目的build.gradle文件中添加以下代码,然后运行gradle build以加载所需的依赖项: dependencies { … compile ‘org.spri…

    Java 2023年6月15日
    00
  • SpringBoot如何用java生成静态html

    要用Java生成静态HTML,可以使用SpringBoot框架中的Thymeleaf模板引擎和SpringBoot内置的静态资源处理器,下面是详细的步骤: 1. 导入依赖 将以下依赖加入到pom.xml文件中: <dependencies> <!– Spring Boot Web –> <dependency> &lt…

    Java 2023年5月19日
    00
  • Java日期时间及日期相互转换实现代码

    下面是“Java日期时间及日期相互转换实现代码”的完整攻略: 1. Java日期时间基础 Java 日期时间类是 Java API 内置的类,主要包括以下两个部分: 日期类:Date 类是 JDK 1.0 中的类,主要用于表示日期和时间。 日期格式类:DateFormat 是格式化日期时间的抽象类,它可以将 Date 类型的时间格式化为指定格式的字符串,也可…

    Java 2023年5月20日
    00
  • MyEclipse 配置SQL Server 2008数据库驱动操作步骤

    我们来详细讲解”MyEclipse配置SQL Server 2008数据库驱动操作步骤”的完整攻略。 确认MyEclipse版本和SQL Server版本 首先,需要确认你的MyEclipse版本和SQL Server版本。MyEclipse版本要求为10.x及以上,SQL Server版本要求为2008及以上。 下载SQL Server JDBC驱动 其次…

    Java 2023年6月16日
    00
  • Spring Boot 的创建和运行示例代码详解

    下面是“Spring Boot 的创建和运行示例代码详解”的完整攻略。 创建 Spring Boot 项目 步骤一:使用 Spring Initializr 创建项目 Spring Initializr 是一个快速创建 Spring Boot 项目的在线工具,我们只需要在网站上选择相关的配置就可以快速创建出一个 Spring Boot 项目。 步骤如下: 打…

    Java 2023年5月15日
    00
  • jdbc实现用户注册功能代码示例

    一、文本内容 1. 确认数据库连接 使用JDBC进行数据库操作,首先要连接数据库。连接数据库需要知道数据库的地址、端口、数据库名称以及用户名密码等参数。 以下是连接MySQL数据库的代码示例: Class.forName("com.mysql.jdbc.Driver"); // 加载 MySQL JDBC 驱动程序 String url …

    Java 2023年6月15日
    00
  • java对XML文件的解析、节点的增加、删除操作总结

    Java对XML文件的解析、节点的增加、删除操作总结 在Java中,我们常常需要对XML文件进行解析、节点的增加或删除操作。下面将从以下两个方面对这一问题进行分析。 1. XML文件的解析 1.1 使用JDOM进行XML文件解析 JDOM是一款功能强大的Java XML解析库,它可以对XML文档进行解析,并操作XML文档中的元素和属性。其解析XML文档的核心…

    Java 2023年6月15日
    00
  • 图书管理系统java代码实现

    我们来详细讲解一下“图书管理系统Java代码实现”的完整攻略。 1. 确定项目需求并设计数据库 在开发一个图书管理系统前,我们需要先确定其需求。例如,一个简单的图书管理系统通常需要包含以下基本功能: 图书的添加,修改和删除操作 图书的查找和查询操作 图书的借阅和归还操作 一旦需求确定,我们就可以开始设计数据库表结构了。一个基本的图书管理系统需要包含图书表、读…

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