基于graalvm和java swing制作一个文件差异对比的原生应用,附源码

文章目录

        • 1、DFDiff介绍
        • 2、软件架构
        • 3、安装教程
          • 3.1、编译为jar包运行
          • 3.2、编译为原生应用运行
        • 4、运行效果图
        • 5、项目源码地址

1、DFDiff介绍

当前已实现的功能比较两个文件夹内的文件差异,已支持文件差异对比。

2、软件架构

软件架构说明
开发环境是在OpenJDK17,UI使用的是Swing + SwingX扩展控件,使用Graalvm编译为原生应用。

  • 文件列表使用的Swingx组件的JXTreeTable。
  • 文件差异对比使用的Swingx组件的JXTable。

3、安装教程

3.1、编译为jar包运行

需要使用maven。
编译构建为jar包

mvn package

运行

java -jar DFDiff-1.0.0-jar-with-dependencies.jar
3.2、编译为原生应用运行

,除了Maven,还需要Graalvm
编译构建为jar包

mvn package

使用native-image-agent(Graalvm内工具)工具来收集这些运行库信息

java -agentlib:native-image-agent=config-output-dir=META-INF/native-image -jar DFDiff-1.0.0-jar-with-dependencies.jar

编译为原生应用,Window平台下为DFDiff.exe

native-image --verbose --static --no-fallback -H:ConfigurationFileDirectories=META-INF/native-image --link-at-build-time --allow-incomplete-classpath -jar DFDiff-1.0.0-jar-with-dependencies.jar DFDiff

GraalVM编译后得到的运行文件
基于graalvm和java swing制作一个文件差异对比的原生应用,附源码_第1张图片

Window平台下运行

双击DFDiff.exe运行

GraalVM编译的Window版本下载:dfdiff-windows-1.0-beta

4、运行效果图

  1. 目录差异对比
    基于graalvm和java swing制作一个文件差异对比的原生应用,附源码_第2张图片

  2. 文件差异对比
    基于graalvm和java swing制作一个文件差异对比的原生应用,附源码_第3张图片

5、项目源码地址

项目源码

你可能感兴趣的:(java,java,开发语言,graalvm)