solon通过maven-assembly-plugin的方法打fat胖包(包含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-fat</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-assembly-plugin</artifactId> <version>3.6.0</version> <configuration> <finalName>${project.artifactId}</finalName> <appendAssemblyId>false</appendAssemblyId> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <!-- 此处,要改成自己的程序入口(即 main 函数类) --> <manifest> <mainClass>com.scdq.solon.test.App</mainClass> </manifest> <manifestEntries> <!--使用/lib/*.jar貌似不行--> <Class-Path>lib/cat-0.6.0.jar</Class-Path> </manifestEntries> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>

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