龙空技术网

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

今天下了点雨 291

前言:

此刻姐妹们对“java 文件内容比较”大体比较看重,兄弟们都想要学习一些“java 文件内容比较”的相关资讯。那么小编同时在网摘上搜集了一些有关“java 文件内容比较””的相关文章,希望我们能喜欢,我们快快来学习一下吧!

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编译后得到的运行文件

Window平台下运行

双击DFDiff.exe运行

GraalVM编译的Window版本下载:DfDiff_1.0-beta 路 penngo/DFDiff - Gitee.com

4、运行效果图

目录差异对比

文件差异对比

5、项目源码地址

DFDiff: 比较两个文件夹目录差异,并以界面形式显示两个目录的差异

标签: #java 文件内容比较