前言

说明一下本文章针对最新版本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. openldap 资料

    LDAP概念和原理介绍 相信对于许多的朋友来说,可能听说过LDAP,但是实际中对LDAP的了解和具体的原理可能还比较模糊,今天就从"什么是LDAP"."LDAP的主要产品 ...

  2. C语言之数据类型(知识点8)

    一.数据类型 1.数据基本类型 (1)整数 ①有符号整形 有符号短整型 short 有符号基本整形  int 有符号长整形  long ②无符号整形 无符号基本整形 无符号短整型 无符号长整型 (2) ...

  3. 顺利通过EMC实验(14)

  4. 一个看一次就永远不会忘的windows环境开发小技巧

    前言:本人前端开发,在日常开发中需要打开多个窗口进行开发,如:本地服务窗口,ide工具,设计图,prd文档,浏览器,浏览器调试工具: 如此多的窗口同时打开并且时常需要查看的情况下,遗憾的是,即使我是双 ...

  5. Android 遮罩层效果--制作圆形头像

    (用别人的代码进行分析) 不知道在开发中有没有经常使用到这种效果,所谓的遮罩层就是给一张图片不是我们想要的形状,这个时候我们就可以使用遮罩效果把这个图片变成我们想要的形状,一般使用最多就是圆形的效果, ...

  6. Eclipse的视窗和视图概述、Eclipse工作空间的基本配置

    Eclipse的视窗和视图概述视窗  每一个基本的窗体被称为视窗 * PackageExplorer  显示项目结构,包,类,及资源 * Outline   显示类的结构,方便查找,识别,修改 * C ...

  7. Struts2-使用forEach标签+el标签获取值栈数据

    import cn.web.body.User; import com.opensymphony.xwork2.ActionSupport; import java.util.ArrayList; i ...

  8. drf的基本使用、APIView源码分析和CBV源码拓展

    cbv源码拓展 扩展,如果我在Book视图类中重写dispatch方法 -可以实现,在get,post方法执行之前或者之后执行代码,完成类似装饰器的效果 def dispatch(self, requ ...

  9. vue3 - 事件处理之事件修饰符

    内容取自>> <!-- 阻止单击事件冒泡 --> <a v-on:click.stop="doThis"></a> <!-- ...

  10. el-table高度问题

    1. 外层容器flex=1,el-table设置属性height="calc(100% - 60px),有时一刷新页面表格高度无限增加,滚动条一直变短 试验过几次后发现是因为el-table ...