查重工具Jplag的使用
前言
说明一下本文章针对最新版本Jplag3.0使用JplagAPI
一、Jplag是什么?
Jplag是用来对代码进行查重的一种工具,本次创作是由于博主在本科论文中有涉及到代码查重,所以想将自己的见解分享一下。
二、使用步骤
1.下载包
github的访问地址在这里
下载地址可以从github下载,也可以从这里下载
2.java环境配置
- Java版本必须使用Java17,Java安装我就不过多说了,网上教程很多
- 如果使用的是eclipse,那么eclipse版本使用的是2022-03,这样才能使用Java17
3.如何使用
- 将jar包导入到项目里
- 可以去github查看API
- 但是我使用时,有些小问题,这些都可以解决
- 使用我调试之后的代码
import java.io.File;
import java.util.List;
import de.jplag.JPlag;
import de.jplag.JPlagComparison;
import de.jplag.JPlagResult;
import de.jplag.exceptions.ExitException;
import de.jplag.exceptions.ReportGenerationException;
import de.jplag.options.JPlagOptions;
import de.jplag.options.LanguageOption;
import de.jplag.reporting.Report;
public class TestCode {
public static void main(String[] args) {
// TODO Auto-generated method stub
//D:\\Testcode\\16517173285362这个文件夹下面放你需要查重的文件
JPlagOptions options = new JPlagOptions("D:\\Testcode\\16517173285362", LanguageOption.C_CPP);
//因为我查的是CPP文件所以用的CPP,这里可以改成你需要的语言
options.setBaseCodeSubmissionName("template");
//这个template文件夹放在上面那个文件夹里,外面的那些文件需要和里面的文件进行查重,当然外面的文件也会两两比较查重
try {
JPlag jplag = new JPlag(options);
JPlagResult result = jplag.run();
List<JPlagComparison> comparisons = result.getComparisons();
File outputDir = new File("D:\\Testcode");//这个是将结果保存的文件夹
Report report = new Report(outputDir, options);
report.writeResult(result);
}
} catch (ReportGenerationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (ExitException e) {
e.printStackTrace();
}
}
}
- 查看执行结果
- 可以去我代码中说明的位置去查看,里面有许多网页,点开index页面,最下面有查重率,点开可以具体查看。
- 具体如何查看外面文件之间的查重率我暂时也还不清楚,欢迎大家使用后给我留言!!!
三、总结
经过我使用后,我发现对于简单的只有输出或简单定义个变量来进行查重,一般是无法进行查重,会提示关键字太少,如果加个循环或者其他的话,则可以查重,但还是有些无法成功,具体缘由我也无从得知,大家使用后如果有什么新发现欢迎给我评论留言!!!
查重工具Jplag的使用的更多相关文章
- 代码查重工具sim
在瞎搜东西的时候,发现了一个大牛的博客 看起来很厉害的样子...做了一个LaTeX的语法检查并给出适当的提示,上wiki上一查发现他竟然是CVS第一个版本的发明者和开发者...Dick grune这是 ...
- 文件查重工具 ultraCompare 和 UltraFinder 用法
UltraCompare 是一款文件内容比较工具,它可以对于文本.文件夹.二进制进行比较.可进行文本模式,文件夹模式以及二进制模式的比较,可对比较的文件.文件夹等进行合并,同步等操作.是进行比较操作的 ...
- 【NLP】Python实例:申报项目查重系统设计与实现
Python实例:申报项目查重系统设计与实现 作者:白宁超 2017年5月18日17:51:37 摘要:关于查重系统很多人并不陌生,无论本科还是硕博毕业都不可避免涉及论文查重问题,这也对学术不正之风起 ...
- CRM 数据查重
2.8 小工具 · 纷享销客产品手册https://www.fxiaoke.com/mob/guide/crmdoc/src/2-8%E5%B0%8F%E5%B7%A5%E5%85%B7.html C ...
- 【NLP】Python实例:基于文本相似度对申报项目进行查重设计
Python实例:申报项目查重系统设计与实现 作者:白宁超 2017年5月18日17:51:37 摘要:关于查重系统很多人并不陌生,无论本科还是硕博毕业都不可避免涉及论文查重问题,这也对学术不正之风起 ...
- python 手把手教你基于搜索引擎实现文章查重
前言 文章抄袭在互联网中普遍存在,很多博主都收受其烦.近几年随着互联网的发展,抄袭等不道德行为在互联网上愈演愈烈,甚至复制.黏贴后发布标原创屡见不鲜,部分抄袭后的文章甚至标记了一些联系方式从而使读者获 ...
- 论文 查重 知网 万方 paperpass
相信各个即将毕业的学生或在岗需要评职称.发论文的职场人士,论文检测都是必不可少的一道程序.面对市场上五花八门的检测软件,到底该如何选择?选择查重后到底该如何修改?现在就做一个知识的普及.其中对于中国的 ...
- 如何对excel进行列查重
学习了excel函数:countif.表达式:COUNTIF(数据区域,条件),作用:对数据区域内符合条件单元格计数 具体应用 在“姓名”(列A)后插入一列(列B),在B2单元格输入公式“=IF(CO ...
- POJ 3274 Gold Balanced Lineup 哈希,查重 难度:3
Farmer John's N cows (1 ≤ N ≤ 100,000) share many similarities. In fact, FJ has been able to narrow ...
随机推荐
- Linux 搭建Apollo
简介 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场景 ...
- html 不常用标签介绍
文本元素 <wbr> 如果单词太长,或者您担心浏览器会在错误的位置换行,那么您可以使用 <wbr> 元素来添加 Word Break Opportunity(单词换行时机).英 ...
- 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
回顾 上一节我们搭建了游戏的骨架,添加了四个游戏场景,分别是加载.开始.游戏.结束.那么这一节我们来介绍加载这个场景,顺带丰富一下各个场景的基本内容. Phaser.Loader Phaser框架自带 ...
- canvas 1px 出现模糊解决方法及原理
关于canvas绘制1像素出现模糊的原因及解决方法 canvas是html5中非常强大的功能,但是在绘制的时候如果出现1像素,例如画一条1像素的线可能出现模糊情况. 一.解决方法 网上比较常见的解决方 ...
- React系列——websocket群聊系统在react的实现
前奏 这篇文章仅对不熟悉在react中使用socket.io的人.以及websocket入门者有帮助. 下面这个动态图展示的聊天系统是用react+express+websocket搭建的,很模糊吧, ...
- CSS的inline、block与inline-block
基本知识点 行内元素一般是内容的容器,而块级元素一般是其他容器的容器,行内元素适合显示具体内容,而块级元素适合做布局. 块级元素(block):独占一行,对宽高的属性值生效:如果不给宽度,块级元素就默 ...
- ajax自己封装
function paramsSeralize(obj){ if(!obj || typeof !== 'object') return obj; let res = ''; for (const k ...
- Java基础之浅谈继承、多态
一.继承的理解 继承:简单通俗的来讲,继承就是一个类继承另一个类,通常用extends表示继承. 继承的类叫子类,被继承的类叫父类. 子类可以使用父类的变量和方法,同时也可以重写父类的方法. 在Jav ...
- 使用pyttsx3实现简单tts服务
操作系统:Windows 10_x64 python版本:Python 3.9.2_x64 pyttsx3版本: 2.90 pyttsx3是一个tts引擎包装器,可对接SAPI5.NSSS(NSS ...
- 机器学习---kmeans聚类的python实现
""" Name: study_kmeans.py Author: KX-Lau Time: 2020/11/6 16:59 Desc: 实现kmeans聚类 " ...