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

Page tree

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

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

通过前面几节的学习,我们已经可以开发出来一个可用的插件了,但是还无法把开发的插件包分发给其他人用(给其他人安装或者上传到插件商城),这一节就是展示如何构建一个可分发的插件包。

构建加密插件包

1、进入插件源码目录,注意查看jdk.home属性,如果没有指向正确的JDK目录,需要修改;

2、查看reportLibs属性,是否指向了正确的目录。

执行命令

ant -f build.xml jar

执行完毕后,可以在插件源码目录/install目录下看到构建好的插件安装包(一个zip文件),使用这种配置构建出来的插件代码,无法反编译。

关键构建配置

    <target name="compile_javas">
        <echo message="编译${compile_files}下的Java文件"/>
        <javac destdir="${classes}" debug="false" optimize="on" source="${source_jdk_version}"
               target="${target_jdk_version}"
               fork="true" memoryMaximumSize="512m" listfiles="false" srcdir="${basedir}"
               executable="${compile_jdk_version}/bin/javac">
            <src path="${basedir}/src/main/java"/>
            <exclude name="**/.svn/**"/>
            <compilerarg line="-encoding UTF8 "/>
            <classpath refid="compile.classpath"/>
        </javac>
        <taskdef name="pretreatment" classname="com.fr.plugin.pack.PluginPretreatmentTask">
            <classpath refid="compile.classpath"/>
        </taskdef>
        <pretreatment baseDir="${basedir}"/>
    </target>

 

构建不加密插件包

1、进入插件源码目录,注意查看jdk.home属性,如果没有指向正确的JDK目录,需要修改;

2、查看reportLibs属性,是否指向了正确的目录。

执行命令

ant -f build.xml jar

执行完毕后,可以在插件源码目录/install目录下看到构建好的插件安装包(一个zip文件),使用这种配置构建出来的插件代码,可以被反编译。

关键构建配置(去掉了com.fr.plugin.pack.PluginPretreatmentTask任务)

 <target name="compile_javas">
        <echo message="编译${compile_files}下的Java文件"/>
        <javac destdir="${classes}" debug="false" optimize="on" source="${source_jdk_version}"
               target="${target_jdk_version}"
               fork="true" memoryMaximumSize="512m" listfiles="false" srcdir="${basedir}"
               executable="${compile_jdk_version}/bin/javac">
            <src path="${basedir}/src/main/java"/>
            <exclude name="**/.svn/**"/>
            <compilerarg line="-encoding UTF8 "/>
            <classpath refid="compile.classpath"/>
        </javac>
 </target>
  • No labels