配置pom.xml用maven打包java工程的方法(推荐)

这里是配置pom.xml用maven打包Java工程的方法的完整攻略:

1. 确认构建环境

在开始配置pom.xml之前,建议确认以下环境是否已安装:

  • JDK(Java Development Kit)
  • Maven

确认环境安装情况:

  • 打开终端或命令行
  • 输入命令java -version,确认能够输出Java的版本信息
  • 输入命令mvn -version,确认能够输出Maven的版本信息

如果您还没有安装或不确定是否安装,可以按照如下步骤操作:

安装JDK

  1. 前往Oracle官网下载安装JDK(需要注册会员账号)
  2. 安装并配置环境变量,将JDK的路径添加到系统环境变量PATH中

安装Maven

  1. 前往Maven官网下载最新版本的Maven
  2. 解压并配置环境变量,将Maven的路径添加到系统环境变量PATH中

2. 创建Java项目

在开始配置pom.xml之前,先创建一个Java项目。可以使用Java IDE(如Eclipse、IntelliJ IDEA)或使用文本编辑器手动创建。

这里以使用Eclipse为例,创建一个名为"HelloWorld"的Java项目,包含一个名为"Hello"的类,并且该类的main方法中输出"Hello World!"。

步骤

  1. 打开Eclipse
  2. 点击菜单File -> New -> Project
  3. 在选择面板中选择"Maven" -> "Maven Project",点击"Next"
  4. 在"New Maven Project"面板中,选择"Maven Archetype"为"maven-archetype-quickstart",点击"Next"
  5. 在"New Maven Project"面板中,填入项目的"Group Id"、"Artifact Id"、"Version"等信息,点击"Finish"
  6. 在项目上右键点击"src/main/java",选择"New" -> "Class"
  7. 在"New Java Class"对话框中,填入类名"Hello",点击"Finish"
  8. 在"Hello"类中编写代码,输出"Hello World!",如下:

java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

  1. 保存并运行该程序,输出"Hello World!"。

3. 配置pom.xml文件

在项目的根目录下,创建一个名为"pom.xml"的文件,并添加以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>HelloWorld</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>HelloWorld</name>
    <url>http://www.example.com</url>

    <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
          <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>com.example.Hello</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

这里对pom.xml文件内容做一个简单的说明:

  • groupId:项目的组ID,约定俗成使用公司域名反转加项目名,如com.example.HelloWorld
  • artifactId:项目的名字,一般与groupId组合构成唯一标识符,如HelloWorld
  • version:项目的版本号,用法为major.minor.patch形式,如1.0.0
  • packaging:项目打包类型,这里为"jar",即可运行的Java包
  • name:项目的名称
  • url:项目的URL
  • dependencies:项目运行所依赖的库,这里包含了JUnit库,用于测试
  • build/plugins/plugin:定义一个名为"maven-jar-plugin"的插件,用来打包生成可运行的Java包,配置过程中包含:
  • archive/manifest/addClasspath:打包时添加Classpath
  • archive/manifest/mainClass:指定运行时的主类

4. 打包项目

打包项目可以在命令行中运行Maven命令,也可以使用Java IDE(如Eclipse、IntelliJ IDEA)提供的Maven插件打包。

这里以使用命令行的方式为例。在命令行中切换到项目的根目录下,运行如下命令:

mvn package

执行该命令之后,Maven会在项目的"target"目录下生成一个名为"HelloWorld-1.0-SNAPSHOT.jar"的可运行的Java包。

示例1

这里给出一个使用Servlet和JSP的Hello World示例,包含了HTTP请求响应的处理逻辑。

步骤

  1. 在项目上右键点击"src/main/java",选择"New" -> "Servlet"
  2. 在"New Servlet"对话框中,填入"HelloServlet"作为类名,也可以其他名称,点击"Next"
  3. 在"New Servlet"对话框中,选择"Suorce folder"为"src/main/java",选择"Package"为"com.example",点击"Next"
  4. 在"New Servlet"对话框中,将其映射到URL路径为"/hello",点击"Finish"
  5. 在src/main/webapp下创建index.jsp文件,并在该文件中编写如下代码:

```jsp



Hello World!





```

  1. 在"HelloServlet"类中编写代码,获取"index.jsp"页面提交的表单数据,并输出"Hello World!"和用户的名字,如下所示:

```java
package com.example;

import javax.servlet.;
import javax.servlet.http.
;
import java.io.*;

public class HelloServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("");
out.println("Hello World!");
out.println("");
out.println("

");
out.println("");
out.println("");
out.println("");
out.println("

");
out.println("");
}

   public void doPost(HttpServletRequest request, HttpServletResponse response)
           throws ServletException, IOException {
       response.setContentType("text/html");
       PrintWriter out = response.getWriter();
       String name = request.getParameter("name");
       out.println("<html>");
       out.println("<head><title>Hello World!</title></head>");
       out.println("<body>");
       out.println("<h2>Hello " + name + "!</h2>");
       out.println("<p>Welcome to my website.</p>");
       out.println("</body></html>");
   }

}
```

  1. 执行"mvn package"命令,生成可运行的Java包
  2. 在命令行中运行以下命令,启动内置的Jetty服务器

shell
java -jar target/HelloWorld-1.0-SNAPSHOT.jar

  1. 在浏览器中访问"http://localhost:8080",可以看到"Hello World!"页面
  2. 在页面中输入名字并提交,可以看到页面输出"Hello 名字!"和"Welcome to my website."。

示例2

这里给出一个使用Spring框架的Hello World示例,包含了使用IoC容器注入对象的处理逻辑。

步骤

  1. 在项目的根目录下创建一个名为"src/main/resources"的目录,在该目录下创建一个名为"applicationContext.xml"的文件,并添加以下内容:

```xml

   <bean id="helloService" class="com.example.HelloService"/>


```

这里定义了一个名为"helloService"的Bean,它的实现类为"HelloService"。

  1. 在项目上右键点击"src/main/java",选择"New" -> "Class"
  2. 在"New Java Class"对话框中,填入"HelloService"作为类名,也可以其他名称,选择"Package"为"com.example",点击"Finish"
  3. 在"HelloService"类中编写代码,输出"Hello World!"和用户的名字,如下所示:

```java
package com.example;

public class HelloService {
public String sayHello(String name) {
return "Hello " + name + "!";
}
}
```

  1. 在项目上右键点击"src/main/java",选择"New" -> "Class"
  2. 在"New Java Class"对话框中,填入"HelloController"作为类名,也可以其他名称,选择"Package"为"com.example",点击"Finish"
  3. 在"HelloController"类中编写代码,通过IoC容器获取"HelloService"实例并调用其方法,输出"Hello World!"和用户的名字,如下所示:

```java
package com.example;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@Controller
public class HelloController {
@Autowired
private HelloService helloService;

   @RequestMapping(value="/hello/{name}", method=RequestMethod.GET)
   @ResponseBody
   public String hello(@PathVariable("name") String name) {
       return helloService.sayHello(name);
   }

}
```

  1. 在pom.xml文件中添加如下依赖:

xml
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.3</version>
</dependency>

这里依赖了Spring框架的"spring-webmvc"模块,用于构建Web应用程序。

  1. 执行"mvn package"命令,生成可运行的Java包
  2. 在命令行中运行以下命令,启动内置的Jetty服务器

    shell
    java -jar target/HelloWorld-1.0-SNAPSHOT.jar

  3. 在浏览器中访问"http://localhost:8080/hello/yourname",可以看到页面输出"Hello yourname!"。其中"yourname"为任意用户名字。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:配置pom.xml用maven打包java工程的方法(推荐) - Python技术站

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

相关文章

  • JavaSpringBoot报错“NotSupportedException”的原因和处理方法

    原因 “NotSupportedException” 错误通常是以下原因引起的: 数据库问题:如果您的数据库存在问题,则可能会出现此错误。在这种情况下,需要检查您的数据库并确保它们正确。 数据库驱动问题:如果您的数据库驱动存在问题,则可能会出现此错误。在这种情况下,需要检查您的数据库驱动并确保它们正确。 数据库版本问题:如果您的数据库版本与您的数据库驱动不兼…

    Java 2023年5月4日
    00
  • Mybatis三种批量插入数据的方式

    Sure! 首先,我们先了解一下 Mybatis 中三种批量插入数据的方式: 1.基于 statement 的方式2.基于 batch 的方式3.基于 foreach 标签的方式 下面我将详细讲解这三种方式的过程和示例: 基于 statement 的方式 创建一个包含多个 insert 语句的 sql 文件,例如 insert_test.sql 文件如下: …

    Java 2023年5月20日
    00
  • java 创建自定义数组

    下面我将为您详细讲解Java创建自定义数组的完整攻略。 创建自定义数组 Java中可以通过定义一个类来自定义一个数组。定义一个数组需要完成以下步骤: 定义数组类 在数组类中定义数组元素的类型、数组长度和下标索引 实现获取、设置和遍历数组元素的方法 定义数组类 定义自定义数组类需要使用Java的面向对象编程思想。一个数组可以看做是一个对象,需要自定义一个数组类…

    Java 2023年5月26日
    00
  • spring boot thymeleaf 图片上传web项目根目录操作步骤

    下面是关于“spring boot thymeleaf 图片上传web项目根目录操作步骤”的完整攻略。 1.准备工作 首先,在项目的pom.xml中添加thymeleaf和spring-boot-starter-thymeleaf的依赖。然后再单独添加commons-fileupload的依赖以支持文件上传。 <dependency> <g…

    Java 2023年6月16日
    00
  • Java连接数据库步骤解析(Oracle、MySQL)

    Java连接数据库步骤解析(Oracle、MySQL) 在Java开发中,连接数据库是很常见的操作。这里就介绍一下Java连接Oracle和MySQL数据库的步骤。 1. Oracle数据库连接步骤 1.1 下载驱动 Java连接Oracle需要下载Oracle的JDBC驱动,下载地址如下: https://www.oracle.com/database/t…

    Java 2023年5月26日
    00
  • 微信小程序授权登陆及每次检查是否授权实例代码

    下面我将详细讲解微信小程序授权登陆及每次检查是否授权的方法以及提供两条示例说明。 微信小程序授权登陆的方法 在小程序中调用 wx.getSetting 方法获取用户的授权状态。 wx.getSetting({ success: function(res) { if (res.authSetting[‘scope.userInfo’]) { // 用户已授权,…

    Java 2023年5月23日
    00
  • Mybatis Plus插件三种方式的逆向工程的使用

    下面是Mybatis Plus插件三种方式的逆向工程的使用攻略: 一、准备工作 首先,我们需要在使用Mybatis Plus之前构建一个SpringBoot项目,并且引入Mybatis Plus相关的依赖。 <!– 引入Mybatis Plus核心依赖 –> <dependency> <groupId>com.baom…

    Java 2023年5月20日
    00
  • JAVA多线程之实现用户任务排队并预估排队时长

    JAVA多线程之实现用户任务排队并预估排队时长 问题描述 我们在开发一个应用程序时,可能需要实现任务排队功能,以确保多个用户提交的任务可以依次执行,并预估排队时长,方便用户等待。本文将介绍如何使用Java多线程技术实现用户任务排队并预估排队时长。 方案概述 我们可以使用Java的线程池技术实现任务排队功能。Java线程池是一种机制,它可以维护一组线程,以便在…

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