查重工具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 ...
随机推荐
- HTML5与HTML4区别简介
移动互联网的快速发展,尤其是4G时代已经来临,加上微软在Windows 10中搭载了新的浏览器Edge取代了IE的地位,所以现在很多网站都开始抛弃IE朝着HTML5发展,PC端在不同浏览器之间的兼容性 ...
- 圣诞节,把网站所有的js代码都压缩成圣诞树吧。
本文分两章节,分别讲解如何使用js2image这个库生成可以运行的圣诞树代码 和 js2image的原理. github地址:https://github.com/xinyu198736/js2ima ...
- Episode 3:我们想要更好的社交网络
我们为什么爱看评论?怎样的人类文字最有效率?更「好」的手机设计.APP 设计?APP Store 已经十年了?这是 WEB VIEW 的第三期节目<我们想要更好的社交网络>. 链接描述 s ...
- vue2实现搜索结果中的搜索关键字高亮
// 筛选变色 brightenKeyword(val, keyword) { val = val + ''; if (val.indexOf(keyword) !== -1 && k ...
- java中Number Type Casting(数字类型强转)的用法
4.5 Number Type Casting(数字类型强转)隐式 casting(from small to big) byte a = 111; int b = a;显式 casting(from ...
- Mybatis 多表实现多对多查询、添加操作
Mybatis 多表实现多对多查询.添加操作 学习内容: 1. 多对多之添加操作 1.1.需求 1.2.数据库表(多对多数据库设计需要设计中间表) 1.3.类设计 1.4.Mapper 接口和 Map ...
- 基于express框架的留言板实现步骤
这个留言板是基于express框架,和ejs模板引擎,首先需要在根目录安装express框架,然后安装ejs模块和body-parser(获取用户表单提交的数据):建立项目目录 message,然后依 ...
- BlockingCollection实现生产者消费者
很简单的代码,看注释 class Program { private static ManualResetEvent _manualResetEvent = new ManualResetEvent( ...
- 爬虫---scrapy全站爬取
全站爬取1 基于管道的持久化存储 数据解析(爬虫类) 将解析的数据封装到item类型的对象中(爬虫类) 将item提交给管道, yield item(爬虫类) 在管道类的process_item中接手 ...
- 深度理解springboot集成cache缓存之源码解析
一.案例准备 1.创建数据表(employee表) 2.创建Employee实体类封装数据库中的数据 @AllArgsConstructor @NoArgsConstructor @Data @ToS ...