Maven将项目打为jar包

it2022-05-05  154

maven依赖坐标网站

https://mvnrepository.com/

参考https://www.cnblogs.com/dzblog/p/6913809.html

1.新建maven项目,不选择骨架

2.目录结构

3.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.east</groupId> <artifactId>databaseTest</artifactId> <version>1.0-SNAPSHOT</version> <!--依赖库--> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.34</version> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.1.0</version> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>10.2.0.3.0</version> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>10.2.0.4.0</version> </dependency> </dependencies> <build> <plugins> <!--打包jar--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifestEntries> <!--MANIFEST.MF 中 Class-Path 加入资源文件目录--> <Class-Path>./resources/</Class-Path> </manifestEntries> </archive> <outputDirectory>${project.build.directory}</outputDirectory> </configuration> </plugin> <!--spring boot repackage,依赖 maven-jar-plugin 打包的jar包 重新打包成 spring boot 的jar包--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <layout>ZIP</layout> <!--使用外部配置文件,jar包里没有资源文件--> <addResources>true</addResources> <outputDirectory>${project.build.directory}</outputDirectory> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptors> <descriptor>src/main/assembly/package.xml</descriptor> </descriptors> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>

4.package.xml

<?xml version="1.0" encoding="UTF-8"?> <assembly> <id>package</id> <formats> <format>zip</format> </formats> <includeBaseDirectory>true</includeBaseDirectory> <fileSets> <fileSet> <directory>${project.basedir}/src/main/resources</directory> <outputDirectory>/resources</outputDirectory> </fileSet> <!-- 把项目自己编译出来的jar文件,打包进zip文件的根目录 --> <fileSet> <directory>${project.build.directory}</directory> <outputDirectory>/</outputDirectory> <includes> <include>*.jar</include> </includes> </fileSet> </fileSets> </assembly>

5.DataConnection.java

import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; public class DataConnection { private Properties p; private Connection conn; private FileInputStream f; public static void main(String[] args) { new DataConnection().loadDriver(); } public void loadDriver() { p = new Properties(); try { // f = new FileInputStream(new File("D:\\jdbc.properties")); // p.load(f); p.load(this.getClass().getResourceAsStream("/jdbc.properties")); System.out.println("数据库正在连接,请等待..."); Class.forName(p.getProperty("Driver").trim()); System.out.println("驱动加载成功!!!"); try { conn = DriverManager.getConnection(p.getProperty("url").trim(), p.getProperty("user").trim(), p.getProperty("password").trim()); System.out.println("数据库连接成功!!!"); } catch (SQLException e) { System.out.println("不能连接到指定的数据库,请检查相应的基本信息!!!"); e.printStackTrace(); } } catch (FileNotFoundException e) { System.out.println("指定路径的文件不存在或者无权限访问!!!"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { System.out.println("无法找到所加载的驱动,或驱动文件不存在!!!"); e.printStackTrace(); } finally { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }

6.Maven Projects -> package

7.解压.zip文件

8.进入此文件根目录


最新回复(0)