下面是详细讲解Maven将代码及其依赖打成一个Jar包的完整攻略:
前提条件
在开始前,需要确保在本地预装了Maven,并已经配置好了Maven环境变量。
Step 1:创建Maven项目并导入依赖
在命令行窗口中,进入到要创建项目的目录,执行以下命令:
mvn archetype:generate -DgroupId=your.group.id -DartifactId=your-artifact-id -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
其中,groupId
和artifactId
分别代表项目的组名和项目名,可以自定义。这个命令会创建一个基本的Maven项目,并将其导入到Maven仓库中。
接下来,在项目的pom.xml
文件中,添加所需要的依赖,例如:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
这里添加了一个JUnit的依赖,用于测试。
Step 2:在pom.xml文件中指定Main Class
在项目的pom.xml
文件中,需要添加以下代码:
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.example.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
这个配置告诉Maven将哪个类作为Main Class。这里以com.example.Main
为例。在打包Jar包的时候,这个Main Class会被放入Jar包的Manifest文件中。
Step 3:打包成Jar包
在命令行窗口中,在项目的根目录下运行以下命令:
mvn package
这会将项目打包成一个Jar文件,并将其放在target/your-artifact-id-1.0-SNAPSHOT.jar
路径下。
Step 4:运行Jar包
在命令行窗口中,运行以下命令:
java -jar target/your-artifact-id-1.0-SNAPSHOT.jar
这会运行打包好的Jar包。
示例1
为了更好的理解Maven将代码及依赖打成一个Jar包的方式,这里举个实际的例子,在这个例子中,我们使用了Lombok和Log4j2两个依赖。
导入依赖
为了使用Lombok和Log4j2,需要在项目的pom.xml
文件中添加以下依赖:
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.14.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.14.1</version>
</dependency>
</dependencies>
指定Main Class
在项目的pom.xml
文件中,需要添加以下代码:
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.example.Main</mainClass>
</manifest>
</archive>
</configuration>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.14.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.14.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
打包成Jar包
在命令行窗口中,在项目的根目录下运行以下命令:
mvn package
这会将项目打包成一个Jar文件,并将其放在target/your-artifact-id-1.0-SNAPSHOT.jar
路径下。
运行Jar包
在命令行窗口中,运行以下命令:
java -jar target/your-artifact-id-1.0-SNAPSHOT.jar
这会运行打包好的Jar包。
示例2
下面再举一个例子,这里使用Jackson和HttpClient两个依赖。
导入依赖
为了使用Jackson和HttpClient,需要在项目的pom.xml
文件中添加以下依赖:
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
</dependencies>
指定Main Class
在项目的pom.xml
文件中,需要添加以下代码:
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.example.Main</mainClass>
</manifest>
</archive>
</configuration>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
打包成Jar包
在命令行窗口中,在项目的根目录下运行以下命令:
mvn package
这会将项目打包成一个Jar文件,并将其放在target/your-artifact-id-1.0-SNAPSHOT.jar
路径下。
运行Jar包
在命令行窗口中,运行以下命令:
java -jar target/your-artifact-id-1.0-SNAPSHOT.jar
这会运行打包好的Jar包。
以上就是Maven将代码及依赖打成一个Jar包的攻略完整过程,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Maven将代码及依赖打成一个Jar包的方式详解(最新推荐) - Python技术站