【仅供内部供应商使用,不提供对外解答和培训】

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

通过前面几节的学习,我们已经的学会了插件开发工程的配置、插件的开发和调试以及插件包的构建等基本操作,但到目前为止,我们都还只是使用的插件开发工程中的示例插件,还没有新建一个完全由自己创建的插件。

新建插件

1、在report-starter-10目录下,新建一个目录,这里假设为plugin-hello-world;

2、将plugin-function中的build.xml(用于构建插件包)、plugin.xml(用于描述插件接入点信息)以及pom.xml(用于管理插件jar包依赖)复制到plugin-hello-world目录下,同时修改一下基本的配置信息:

a.将build.xml中的

<property name="plugin-name" value="function-test"/>

修改为

<property name="plugin-name" value="function-hello-world"/>

b.将plugin.xml中的各项内容,都改一下,修改后的文件内容如下

Code Block
languagexml
titleplugin.xml
collapsetrue
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<plugin>
    <id>com.fr.plugin.function.hello.world</id>
    <name><![CDATA[Hello World]]></name>
    <active>yes</active>
    <version>1.0</version>
    <env-version>10.0</env-version>
    <jartime>2019-06-15</jartime>
    <vendor>author</vendor>
    <description><![CDATA[你好]]></description>
    <change-notes><![CDATA[
      [2019-07-15]初始化插件。<br/>
    ]]></change-notes>
    <extra-core>
        <FunctionDefineProvider class="com.fr.plugin.HelloWorld" name="hw" description="Hello World。"/>
    </extra-core>
    <function-recorder class="com.fr.plugin.HelloWorld"/>
</plugin>

c.将pom.xm中的内容,稍作修改,修改后的文件内容如下

Code Block
languagexml
titlepom.xml
collapsetrue
<?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>

    <parent>
        <groupId>com.fr.plugin</groupId>
        <artifactId>starter</artifactId>
        <version>10.0</version>
    </parent>
    <packaging>jar</packaging>
    <!---注意这里的最好保持和文件夹一致-->
    <artifactId>plugin-hello-world</artifactId>
    <dependencies>
        <dependency>
            <groupId>com.fr.plugin</groupId>
            <artifactId>gson</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/gson-2.3.1.jar</systemPath>
        </dependency>
    </dependencies>
    <build>
        <!---如果要更改调试插件,改这里的配置就可以了-->
        <!---注意这里需要保持plugin-xxxx-1.0,其中xxx为插件id-->
       <outputDirectory>${project.basedir}/../webroot/WEB-INF/plugins/plugin-com.fr.plugin.function.hello.world-1.0/classes</outputDirectory>
    </build>
</project>

3、在plugin-hello-world下新建一个用于存放java源码的目录和一个用于存放java源码以外的其他资源文件的目录,分别为

src/main/java

src/main/resources

插件依赖管理

由于我们已经给插件添加了maven配置文件(pom.xml),因此我们只需要将插件目录添加为maven项目即可,如下图所示

等待IntelliJ IDEA解析完maven配置之后,就可以看到java目录和resources目录都变样式了

这里就可以直接在java目录下增加插件的实现类就可以。

概要总结

通过maven,我们可以不用关注插件的依赖关系在IntelliJ IDEA的管理,简化我们的开发过程。