You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法实例化de.jplag.java.Language(),使用JPlag API遇阻求助

解决JPlag API中Cannot resolve de.jplag.java.Language()的问题

问题原因分析

  1. Maven依赖配置错误:你的依赖中<groupId>标签未正确闭合,导致依赖无法正常加载。
  2. JPlag 4.x版本API变更:4.0+版本中,Java语言的实现类已从de.jplag.java.Language更名为de.jplag.java.JavaLanguage,官方示例可能未同步版本适配说明。
  3. 缺失语言模块依赖:JPlag 4.x将不同语言的解析器拆分为独立模块,仅引入核心jplag依赖可能无法获取Java语言的实现类。

修复步骤

1. 修正Maven依赖配置

先修复依赖的语法错误,并添加Java语言模块的依赖:

<dependencies>
    <!-- JPlag核心依赖 -->
    <dependency>
        <groupId>de.jplag</groupId>
        <artifactId>jplag</artifactId>
        <version>4.2.0</version>
    </dependency>
    <!-- Java语言解析器依赖 -->
    <dependency>
        <groupId>de.jplag</groupId>
        <artifactId>java-language</artifactId>
        <version>4.2.0</version>
    </dependency>
</dependencies>

若你的4.2.0版本中Java语言实现已包含在核心jplag依赖中,可仅保留核心依赖,但必须修正<groupId>的闭合错误。

2. 调整代码中的语言类引用

将代码中的de.jplag.java.Language替换为de.jplag.java.JavaLanguage,同时补充必要的导入:

import de.jplag.java.JavaLanguage;
import de.jplag.JPlag;
import de.jplag.JPlagOptions;
import de.jplag.JPlagResult;
import de.jplag.reporting.reportobject.ReportObjectFactory;
import de.jplag.exceptions.ExitException;

import java.io.File;
import java.util.Set;

public class JPlagExample {
    public static void main(String[] args) {
        Language language = new JavaLanguage(); // 修正类名
        Set<File> submissionDirectories = Set.of(new File("/path/to/rootDir"));
        File baseCode = new File("/path/to/baseCode");
        JPlagOptions options = new JPlagOptions(language, submissionDirectories, Set.of()).withBaseCodeSubmissionDirectory(baseCode);

        JPlag jplag = new JPlag(options);
        try {
            JPlagResult result = jplag.run();

            // Optional
            ReportObjectFactory reportObjectFactory = new ReportObjectFactory();
            reportObjectFactory.createAndSaveReport(result, "/path/to/output");
        } catch (ExitException e) {
            // error handling here
            e.printStackTrace();
        }
    }
}

3. 验证依赖与代码

  • 执行mvn clean install刷新依赖,确认无下载错误。
  • 若IDE仍有报错,可尝试清理IDE缓存(如IntelliJ的File -> Invalidate Caches...)后重新加载项目。

内容的提问来源于stack exchange,提问作者authorized_bot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 13:47:11