solon实现maven-jar-plugin打散包(包含scope为system本地jar)简单实践
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.noear.solon.examples</groupId> <artifactId>demo1001-solon-web</artifactId> <version>demo</version> <packaging>jar</packaging> <!-- 建议的配置:指定相关编码为 UTF-8 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <java.version>11</java.version> </properties> <dependencies> <dependency> <groupId>org.noear</groupId> <artifactId>solon-web</artifactId> <version>3.2.0</version> </dependency> <!--加解密工具包--> <dependency> <groupId>com.oogway.cat</groupId> <artifactId>cat</artifactId> <version>0.6.0</version> <scope>system</scope> <systemPath>${pom.basedir}/src/main/resources/lib/cat-0.6.0.jar</systemPath> </dependency> </dependencies> <!-- 主菜是这里: --> <build> <finalName>${project.artifactId}</finalName> <plugins> <!-- 如果(使用 solon-parent 作为 parent ),这块则不用 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <compilerArgument>-parameters</compilerArgument> <source>${java.version}</source> <target>${java.version}</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- 添加依赖输出控制 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.4.0</version> <executions> <execution> <id>copy-dependencies</id> <phase>prepare-package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </execution> </executions> </plugin> <!-- 配置打包插件(设置主类,关联 lib 目录) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.3.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <!-- 指定classpath的前缀 --> <classpathPrefix>lib/</classpathPrefix> <!-- 指定主类的类名 --> <mainClass>com.scdq.solon.test.App</mainClass> </manifest> <manifestEntries> <Class-Path>lib/cat-0.6.0.jar</Class-Path> </manifestEntries> </archive> </configuration> </plugin> </plugins> </build> </project>

如题,solon引入scope类型的本地依赖时,在项目内放置的目录是固定的,必须在src/main/resources/lib的目录之下,所以对应maven-jar-plugin的配置是上面这样写的
浙公网安备 33010602011771号