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

如何导入groupId包含符号“-”的Java依赖并正确引用相关包

问题核心说明

你遇到的报错本质是混淆了Maven依赖的groupId和Java实际包名的概念,二者没有强制对应关系:

  • Java语法明确规定包名、类名只能由字母、数字、下划线组成,不允许使用连字符-,所以根本不可能存在带-的合法import语句
  • groupId是Maven用于定位依赖坐标的标识,不受Java语法约束,允许包含连字符
正确操作步骤

1. 配置依赖仓库

这两个依赖托管在sonatype的公开仓库,需要先在项目pom.xml中添加仓库配置,否则Maven无法正常拉取依赖:

<repositories>
    <repository>
        <id>sonatype-oss-releases</id>
        <url>https://s01.oss.sonatype.org/content/repositories/releases/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

2. 引入Maven依赖

你给出的依赖坐标本身是符合规范的,直接放到pom.xml的<dependencies>节点下即可:

<dependency>
    <groupId>org.ai-flow</groupId>
    <artifactId>aiflow-parent</artifactId>
    <version>0.1.0</version>
</dependency>

<dependency>
    <groupId>org.affinity-project</groupId>
    <artifactId>common-check-widget-backend-lib</artifactId>
    <version>1.2.1</version>
</dependency>

配置完成后执行mvn clean install,确认依赖成功下载到本地仓库。

3. 查找正确包名完成导入

依赖下载完成后,在IDE的项目依赖列表中展开对应的jar包,查看内部实际的包结构即可:

  • 这类groupId带连字符的组件,通常会把包名中的连字符替换为下划线,即实际包名大概率是org.ai_flow、org.affinity_project
  • 也存在包名和groupId完全无关的可能,以jar包内的实际目录结构为准

正确的导入语句示例:

// 替换为实际的类路径即可
import org.ai_flow.xxx.XXXX;
import org.affinity_project.xxx.XXXX;

内容的提问来源于stack exchange,提问作者Jian Wei Chai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:00:02