前言

说明一下本文章针对最新版本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的使用的更多相关文章

  1. 代码查重工具sim

    在瞎搜东西的时候,发现了一个大牛的博客 看起来很厉害的样子...做了一个LaTeX的语法检查并给出适当的提示,上wiki上一查发现他竟然是CVS第一个版本的发明者和开发者...Dick grune这是 ...

  2. 文件查重工具 ultraCompare 和 UltraFinder 用法

    UltraCompare 是一款文件内容比较工具,它可以对于文本.文件夹.二进制进行比较.可进行文本模式,文件夹模式以及二进制模式的比较,可对比较的文件.文件夹等进行合并,同步等操作.是进行比较操作的 ...

  3. 【NLP】Python实例:申报项目查重系统设计与实现

    Python实例:申报项目查重系统设计与实现 作者:白宁超 2017年5月18日17:51:37 摘要:关于查重系统很多人并不陌生,无论本科还是硕博毕业都不可避免涉及论文查重问题,这也对学术不正之风起 ...

  4. CRM 数据查重

    2.8 小工具 · 纷享销客产品手册https://www.fxiaoke.com/mob/guide/crmdoc/src/2-8%E5%B0%8F%E5%B7%A5%E5%85%B7.html C ...

  5. 【NLP】Python实例:基于文本相似度对申报项目进行查重设计

    Python实例:申报项目查重系统设计与实现 作者:白宁超 2017年5月18日17:51:37 摘要:关于查重系统很多人并不陌生,无论本科还是硕博毕业都不可避免涉及论文查重问题,这也对学术不正之风起 ...

  6. python 手把手教你基于搜索引擎实现文章查重

    前言 文章抄袭在互联网中普遍存在,很多博主都收受其烦.近几年随着互联网的发展,抄袭等不道德行为在互联网上愈演愈烈,甚至复制.黏贴后发布标原创屡见不鲜,部分抄袭后的文章甚至标记了一些联系方式从而使读者获 ...

  7. 论文 查重 知网 万方 paperpass

    相信各个即将毕业的学生或在岗需要评职称.发论文的职场人士,论文检测都是必不可少的一道程序.面对市场上五花八门的检测软件,到底该如何选择?选择查重后到底该如何修改?现在就做一个知识的普及.其中对于中国的 ...

  8. 如何对excel进行列查重

    学习了excel函数:countif.表达式:COUNTIF(数据区域,条件),作用:对数据区域内符合条件单元格计数 具体应用 在“姓名”(列A)后插入一列(列B),在B2单元格输入公式“=IF(CO ...

  9. 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 ...

随机推荐

  1. 客户端回调 Watcher ?

    客户端 SendThread 线程接收事件通知,交由 EventThread 线程回调 Watcher. 客户端的 Watcher 机制同样是一次性的,一旦被触发后,该 Watcher 就失效了.

  2. sudo rosdep init 出现 ERROR: cannot download default sources list from:错误解决方法

    关于安装ROS时出现的rosdep init错误 sudo rosdep init ERROR: cannot download default sources list from: https:// ...

  3. 排序 | 冒泡排序的优化与qsort快速排序

    冒泡排序 冒泡排序 Bubble_Sort,是极为简单的一种排序算法.虽然效率差一点,但好在具有结构简单,容易理解,易于操作等优点.冒泡排序就是把小的元素往前调或者把大的元素往后调.在相邻的两个元素间 ...

  4. 顺利通过EMC实验(12)

  5. Vue-cli的打包初体验

    前言:我司是一个教育公司,最近要做一个入学诊断的项目,领导让我开始搭建一套基于vue的H5的开发环境.在网上搜集很多的适配方案,最终还是选定flexible方案.选择它的原因很简单: 它的github ...

  6. 初识react中高阶组件

    高阶组件并不是一个组件,而是一个函数 这个函数返回值是一个组件,并且接受一个组件做为参数:并且返回一个新组件: function HighOC(WrapComponent){ //定义一个高阶组件 , ...

  7. HDMS(Headend Device Management System)软件下载

    进入官网http://www.pbi-china.com/CHS/index.aspx点击右下角的下载通道.

  8. 【版本2020.03】使用idea导入maven项目

    心得1:不同版本的idea,一些选项的名称稍微有点不同,比如以前导入项目的选项名称都是import Project,但是我使用的版本是2020.03 导入项目的名称是 import Settings ...

  9. Java连接数据库报错:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

    解决方案 连接Mysql报错 The last packet sent successfully to the server was 0 milliseconds ago. The driver ha ...

  10. SSM实现个人博客-day03

    项目源码免费下载:SSM实现个人博客 有问题请循环vx:kht808 3.相关包与实体类的创建 1.包名与路径如下: 2.实体类的编写 Blog类 public class Blog implemen ...