SpringBoot集成Jplag本地查重 介绍 本文实现Springboot集成Jplag,本地查重代码,并返回对应相似度。 Jplag部署 Jplag为开源项目,可以直接下载jar包服务器部署。 建议使用本地运行jar包的方式,而不是使用Maven(官方文档写的不清楚) Springboot集成 Jplag生成的文件默认为压缩包,官方提供可视化网址,如果要面向服务,还是直接传输相似度更合适。因此在执行后需要对压缩包进行解压。 Jplag的运行即每次运行一个jar包,完成一次相似度检测 public JsonNode runJPlag() { try { ProcessBuilder processBuilder = new ProcessBuilder("bash", "-c", "java -jar jplag-4.3.0-jar-with-dependencies.jar /root/cpp -l cpp -r /root/results/result -t 5"); Process process = processBuilder.start(); // 获取外部进程的输入流 InputStream inputStream = process.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } ProcessBuilder processBuilder2 = new ProcessBuilder("bash", "-c", "unzip /root/results/result.zip"); processBuilder2.start(); String path = "/root/overview.json"; reader = new BufferedReader(new FileReader(path)); StringBuilder jsonContent = new StringBuilder(); while ((line = reader.readLine()) != null) { jsonContent.append(line); } reader.close(); ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonNode = objectMapper.readTree(String.valueOf(jsonContent)); System.out.println(jsonNode.get("metrics").asText()); System.out.println(jsonNode.get("metrics").get(0).asText()); System.out.println(jsonNode.get("metrics").get(0).get("topComparisons")); return jsonNode.get("metrics").get(0).get("topComparisons"); } catch (IOException e) { throw new RuntimeException(e); } } #SpringBoot SpringBoot集成Jplag本地查重 https://dreamerland.cn/2023/12/28/springboot/Springboot集成Jplag本地查重/ 作者 Silva31 发布于 2023年12月28日 许可协议 2023-2024 上一篇 SpringBoot集成Moss查重系统 下一篇 Please enable JavaScript to view the comments