这里是配置pom.xml用maven打包Java工程的方法的完整攻略:
1. 确认构建环境
在开始配置pom.xml之前,建议确认以下环境是否已安装:
- JDK(Java Development Kit)
- Maven
确认环境安装情况:
- 打开终端或命令行
- 输入命令
java -version
,确认能够输出Java的版本信息 - 输入命令
mvn -version
,确认能够输出Maven的版本信息
如果您还没有安装或不确定是否安装,可以按照如下步骤操作:
安装JDK
- 前往Oracle官网下载安装JDK(需要注册会员账号)
- 安装并配置环境变量,将JDK的路径添加到系统环境变量PATH中
安装Maven
- 前往Maven官网下载最新版本的Maven
- 解压并配置环境变量,将Maven的路径添加到系统环境变量PATH中
2. 创建Java项目
在开始配置pom.xml之前,先创建一个Java项目。可以使用Java IDE(如Eclipse、IntelliJ IDEA)或使用文本编辑器手动创建。
这里以使用Eclipse为例,创建一个名为"HelloWorld"的Java项目,包含一个名为"Hello"的类,并且该类的main方法中输出"Hello World!"。
步骤
- 打开Eclipse
- 点击菜单File -> New -> Project
- 在选择面板中选择"Maven" -> "Maven Project",点击"Next"
- 在"New Maven Project"面板中,选择"Maven Archetype"为"maven-archetype-quickstart",点击"Next"
- 在"New Maven Project"面板中,填入项目的"Group Id"、"Artifact Id"、"Version"等信息,点击"Finish"
- 在项目上右键点击"src/main/java",选择"New" -> "Class"
- 在"New Java Class"对话框中,填入类名"Hello",点击"Finish"
- 在"Hello"类中编写代码,输出"Hello World!",如下:
java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
- 保存并运行该程序,输出"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请求响应的处理逻辑。
步骤
- 在项目上右键点击"src/main/java",选择"New" -> "Servlet"
- 在"New Servlet"对话框中,填入"HelloServlet"作为类名,也可以其他名称,点击"Next"
- 在"New Servlet"对话框中,选择"Suorce folder"为"src/main/java",选择"Package"为"com.example",点击"Next"
- 在"New Servlet"对话框中,将其映射到URL路径为"/hello",点击"Finish"
- 在src/main/webapp下创建index.jsp文件,并在该文件中编写如下代码:
```jsp
```
- 在"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("
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>");
}
}
```
- 执行"mvn package"命令,生成可运行的Java包
- 在命令行中运行以下命令,启动内置的Jetty服务器
shell
java -jar target/HelloWorld-1.0-SNAPSHOT.jar
- 在浏览器中访问"http://localhost:8080",可以看到"Hello World!"页面
- 在页面中输入名字并提交,可以看到页面输出"Hello 名字!"和"Welcome to my website."。
示例2
这里给出一个使用Spring框架的Hello World示例,包含了使用IoC容器注入对象的处理逻辑。
步骤
- 在项目的根目录下创建一个名为"src/main/resources"的目录,在该目录下创建一个名为"applicationContext.xml"的文件,并添加以下内容:
```xml
<bean id="helloService" class="com.example.HelloService"/>
```
这里定义了一个名为"helloService"的Bean,它的实现类为"HelloService"。
- 在项目上右键点击"src/main/java",选择"New" -> "Class"
- 在"New Java Class"对话框中,填入"HelloService"作为类名,也可以其他名称,选择"Package"为"com.example",点击"Finish"
- 在"HelloService"类中编写代码,输出"Hello World!"和用户的名字,如下所示:
```java
package com.example;
public class HelloService {
public String sayHello(String name) {
return "Hello " + name + "!";
}
}
```
- 在项目上右键点击"src/main/java",选择"New" -> "Class"
- 在"New Java Class"对话框中,填入"HelloController"作为类名,也可以其他名称,选择"Package"为"com.example",点击"Finish"
- 在"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);
}
}
```
- 在pom.xml文件中添加如下依赖:
xml
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.3</version>
</dependency>
这里依赖了Spring框架的"spring-webmvc"模块,用于构建Web应用程序。
- 执行"mvn package"命令,生成可运行的Java包
-
在命令行中运行以下命令,启动内置的Jetty服务器
shell
java -jar target/HelloWorld-1.0-SNAPSHOT.jar -
在浏览器中访问"http://localhost:8080/hello/yourname",可以看到页面输出"Hello yourname!"。其中"yourname"为任意用户名字。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:配置pom.xml用maven打包java工程的方法(推荐) - Python技术站