51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【扩展类】DataEase 数据源插件开发引入外部依赖,打包上传插件后无法加载外部依赖问题解决

插件 backend 里的 pom 文件中引入外部依赖,打包插件之后上传成功,调用插件接口报错,排查后发现是因为外部依赖没有加载。

image-2023-4-12_15-14-11.pngimage-2023-4-12_15-14-17.png
image-2023-4-12_15-14-24.pngimage-2023-4-12_15-14-30.png

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">
    <parent>
        <artifactId>sls</artifactId>
        <groupId>io.dataease</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
&amp;lt;artifactId&amp;gt;sls-backend&amp;lt;/artifactId&amp;gt;

&amp;lt;properties&amp;gt;
    &amp;lt;custom.lib-path&amp;gt;${pom.basedir}/src/main/resources&amp;lt;/custom.lib-path&amp;gt;
&amp;lt;/properties&amp;gt;

&amp;lt;dependencies&amp;gt;
    &amp;lt;dependency&amp;gt;
        &amp;lt;groupId&amp;gt;io.dataease&amp;lt;/groupId&amp;gt;
        &amp;lt;artifactId&amp;gt;dataease-plugin-datasource&amp;lt;/artifactId&amp;gt;
        &amp;lt;version&amp;gt;1.17.0&amp;lt;/version&amp;gt;
        &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;
    &amp;lt;/dependency&amp;gt;

    &amp;lt;dependency&amp;gt;
        &amp;lt;groupId&amp;gt;com.aliyun.openservices&amp;lt;/groupId&amp;gt;
        &amp;lt;artifactId&amp;gt;aliyun-log&amp;lt;/artifactId&amp;gt;
        &amp;lt;version&amp;gt;0.6.75&amp;lt;/version&amp;gt;
        &amp;lt;exclusions&amp;gt;
            &amp;lt;exclusion&amp;gt;
                &amp;lt;groupId&amp;gt;com.alibaba&amp;lt;/groupId&amp;gt;
                &amp;lt;artifactId&amp;gt;fastjson&amp;lt;/artifactId&amp;gt;
            &amp;lt;/exclusion&amp;gt;
        &amp;lt;/exclusions&amp;gt;
    &amp;lt;/dependency&amp;gt;
&amp;lt;/dependencies&amp;gt;

&amp;lt;build&amp;gt;
    &amp;lt;resources&amp;gt;
        &amp;lt;resource&amp;gt;
            &amp;lt;directory&amp;gt;src/main/java&amp;lt;/directory&amp;gt;
            &amp;lt;includes&amp;gt;
                &amp;lt;include&amp;gt;**/*.properties&amp;lt;/include&amp;gt;
                &amp;lt;include&amp;gt;**/*.xml&amp;lt;/include&amp;gt;
            &amp;lt;/includes&amp;gt;
            &amp;lt;filtering&amp;gt;false&amp;lt;/filtering&amp;gt;
        &amp;lt;/resource&amp;gt;
        &amp;lt;resource&amp;gt;
            &amp;lt;directory&amp;gt;src/main/resources&amp;lt;/directory&amp;gt;
            &amp;lt;includes&amp;gt;
                &amp;lt;include&amp;gt;**/*&amp;lt;/include&amp;gt;
            &amp;lt;/includes&amp;gt;
            &amp;lt;filtering&amp;gt;false&amp;lt;/filtering&amp;gt;
        &amp;lt;/resource&amp;gt;
    &amp;lt;/resources&amp;gt;
    &amp;lt;plugins&amp;gt;
        &amp;lt;plugin&amp;gt;
            &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;maven-compiler-plugin&amp;lt;/artifactId&amp;gt;
            &amp;lt;configuration&amp;gt;
                &amp;lt;source&amp;gt;1.8&amp;lt;/source&amp;gt;
                &amp;lt;target&amp;gt;1.8&amp;lt;/target&amp;gt;
            &amp;lt;/configuration&amp;gt;
        &amp;lt;/plugin&amp;gt;
        &amp;lt;plugin&amp;gt;
            &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;maven-jar-plugin&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;2.4&amp;lt;/version&amp;gt;
            &amp;lt;configuration&amp;gt;
                &amp;lt;excludes&amp;gt;
                    &amp;lt;exclude&amp;gt;**/server/**&amp;lt;/exclude&amp;gt;
                    &amp;lt;exclude&amp;gt;**/*.properties&amp;lt;/exclude&amp;gt;
                    &amp;lt;exclude&amp;gt;**/Application*&amp;lt;/exclude&amp;gt;
                &amp;lt;/excludes&amp;gt;
            &amp;lt;/configuration&amp;gt;
        &amp;lt;/plugin&amp;gt;
        &amp;lt;plugin&amp;gt;
            &amp;lt;artifactId&amp;gt;maven-clean-plugin&amp;lt;/artifactId&amp;gt;
            &amp;lt;configuration&amp;gt;
                &amp;lt;filesets&amp;gt;
                    &amp;lt;fileset&amp;gt;
                        &amp;lt;directory&amp;gt;src/main/resources/static&amp;lt;/directory&amp;gt;
                        &amp;lt;includes&amp;gt;
                            &amp;lt;include&amp;gt;**&amp;lt;/include&amp;gt;
                        &amp;lt;/includes&amp;gt;
                        &amp;lt;followSymlinks&amp;gt;false&amp;lt;/followSymlinks&amp;gt;
                    &amp;lt;/fileset&amp;gt;

                &amp;lt;/filesets&amp;gt;
            &amp;lt;/configuration&amp;gt;
        &amp;lt;/plugin&amp;gt;
        &amp;lt;plugin&amp;gt;
            &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;maven-antrun-plugin&amp;lt;/artifactId&amp;gt;
            &amp;lt;executions&amp;gt;
                &amp;lt;execution&amp;gt;
                    &amp;lt;id&amp;gt;main-class-placement&amp;lt;/id&amp;gt;
                    &amp;lt;phase&amp;gt;generate-resources&amp;lt;/phase&amp;gt;
                    &amp;lt;configuration&amp;gt;
                        &amp;lt;target&amp;gt;
                            &amp;lt;move todir=&quot;src/main/resources/static&quot;&amp;gt;
                                &amp;lt;fileset dir=&quot;../sls-frontend/static&quot;&amp;gt;
                                    &amp;lt;include name=&quot;*.*&quot;/&amp;gt;
                                &amp;lt;/fileset&amp;gt;
                            &amp;lt;/move&amp;gt;
                        &amp;lt;/target&amp;gt;
                    &amp;lt;/configuration&amp;gt;
                    &amp;lt;goals&amp;gt;
                        &amp;lt;goal&amp;gt;run&amp;lt;/goal&amp;gt;
                    &amp;lt;/goals&amp;gt;
                &amp;lt;/execution&amp;gt;
            &amp;lt;/executions&amp;gt;
        &amp;lt;/plugin&amp;gt;
        &amp;lt;plugin&amp;gt;
            &amp;lt;artifactId&amp;gt;maven-assembly-plugin&amp;lt;/artifactId&amp;gt;
            &amp;lt;configuration&amp;gt;
                &amp;lt;archive&amp;gt;
                    &amp;lt;manifest&amp;gt;
                        &amp;lt;mainClass&amp;gt;&amp;lt;/mainClass&amp;gt;
                    &amp;lt;/manifest&amp;gt;
                &amp;lt;/archive&amp;gt;
                &amp;lt;descriptorRefs&amp;gt;
                    &amp;lt;descriptorRef&amp;gt;jar-with-dependencies&amp;lt;/descriptorRef&amp;gt;
                &amp;lt;/descriptorRefs&amp;gt;
            &amp;lt;/configuration&amp;gt;
            &amp;lt;executions&amp;gt;
                &amp;lt;execution&amp;gt;
                    &amp;lt;id&amp;gt;make-assembly&amp;lt;/id&amp;gt;
                    &amp;lt;phase&amp;gt;package&amp;lt;/phase&amp;gt;
                    &amp;lt;goals&amp;gt;
                        &amp;lt;goal&amp;gt;single&amp;lt;/goal&amp;gt;
                    &amp;lt;/goals&amp;gt;
                &amp;lt;/execution&amp;gt;
            &amp;lt;/executions&amp;gt;
        &amp;lt;/plugin&amp;gt;
    &amp;lt;/plugins&amp;gt;
&amp;lt;/build&amp;gt;

&lt;/project&gt;


build.sh 文件示例

#!/bin/sh
mvn clean package -U -Dmaven.test.skip=true

cp sls-backend/target/sls-backend-1.0-SNAPSHOT-jar-with-dependencies.jar ./sls-backend-1.0-SNAPSHOT.jar

zip -r sls.zip ./sls-backend-1.0-SNAPSHOT.jar ./slsDriver ./plugin.json



赞(1)
未经允许不得转载:工具盒子 » 【扩展类】DataEase 数据源插件开发引入外部依赖,打包上传插件后无法加载外部依赖问题解决