Maven打包時如何指定啟動類
Maven打包時指定啟動類
使用Maven打包的時候, 有時候需要指定啟動類, 可如下操作!
測試項目(結(jié)構(gòu)如下):
代碼: com.xxx.MainClass.java
package com.xxx; public class MainClass { public static void main(String[] args) { System.out.println("The project is to use maven to package a Jar with mainclass !"); } }
打包的時候指定啟動類為 com.xxx.MainClass
方法一
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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xxx</groupId> <artifactId>maven-packaging</artifactId> <version>1.0-SNAPSHOT</version> <build> <!-- 打包后的名字 --> <finalName>MainClass</finalName> <plugins> <!-- 配置jdk版本為1.8 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <target>1.8</target> <source>1.8</source> </configuration> </plugin> <!-- 配置啟動類 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.xxx.MainClass</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
執(zhí)行 mvn clean package , 在target包下找到MainClass.jar文件
可直接使用命令 java -jar MainClass.jar 執(zhí)行
方法二
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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xxx</groupId> <artifactId>maven-packaging</artifactId> <version>1.0-SNAPSHOT</version> <build> <!-- 打包后的名字 --> <finalName>MainClass</finalName> <plugins> <!-- 配置jdk版本為1.8 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <target>1.8</target> <source>1.8</source> </configuration> </plugin> </plugins> <!-- 配置啟動類 --> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.xxx.MainClass</mainClass> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> </manifest> </archive> <classesDirectory> </classesDirectory> </configuration> </plugin> </plugins> </pluginManagement> </build> </project>
執(zhí)行 mvn clean package , 在target包下找到MainClass.jar文件
可直接使用命令 java -jar MainClass.jar 執(zhí)行
兩種配置效果時一樣的 !!!!!
maven打包以某個類為啟動類
配置信息如下:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.example.demo.TestKey</mainClass> <addClasspath>true</addClasspath> </manifest> </archive> </configuration> </plugin> </plugins> </build>
定義一個java啟動類
package com.example.demo; public class TestKey { public static void main(String[] args) { System.out.println("啟動了............."); } }
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot中MyBatisplus使用IPage和Page分頁的實例代碼
這篇文章主要介紹了Springboot中MyBatisplus使用IPage和Page分頁,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12Springcloud seata分布式事務(wù)實現(xiàn)代碼解析
這篇文章主要介紹了Springcloud seata分布式事務(wù)實現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-12-12Java Volatile應(yīng)用單例模式實現(xiàn)過程解析
這篇文章主要介紹了Java Volatile應(yīng)用單例模式實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11