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

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

Compare with Current View Page History

« Previous Version 4 Next »

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

构建加密插件包

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>
        <pretreatment baseDir="${basedir}"/>
    </target>
  • No labels