当前位置: 首页 > 知识库问答 >
问题:

maven - 在 Maven 多模块项目中,sdk 模块引用 server 模块工具类报错,如何解决包不存在问题?

艾正浩
2024-11-01

项目多模块开发时,在 sdk 模块使用 server 模块的工具类编译不通过,显示 server 模块工具类所在包不存在且"找不到符号",请问这个是什么原因呢?

我已经在 sdk 模块引入了 server 模块的依赖,多模块 pom 文件内容如下:
主 pom

<groupId>demo</groupId>
<artifactId>demo1</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>

<modules>
    <module>server</module>
    <module>api</module>
    <module>sdk</module>
</modules>

<dependencyManagement>
    <dependency>
        <groupId>demo</groupId>
        <artifactId>api</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>demo</groupId>
        <artifactId>sdk</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>demo</groupId>
        <artifactId>server</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </dependency>
</dependencyManagement>

<!--其他配置-->

sdk pom

<parent>
    <groupId>demo</groupId>
    <artifactId>demo1</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</parent>

<artifactId>sdk</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>sdk</name>

<dependencies>
    <dependency>
        <groupId>demo</groupId>
        <artifactId>server</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </dependency>
</dependencies>

server pom

<parent>
    <groupId>demo</groupId>
    <artifactId>demo1</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</parent>

<artifactId>server</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>server</name>

<dependencies>
    <dependency>
        <groupId>demo</groupId>
        <artifactId>sdk</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </dependency>
</dependencies>

共有1个答案

阎宝
2024-11-01

sdk 和 server 模块的双向依赖的问题。

 类似资料:
  • 我曾广泛使用过Maven 目前有5个不同的maven项目,每个项目都有一个不同的pom.xml。到目前为止,它们之间存在依赖关系,如果需要,每一个都指向 中的另一个。 现在我们不喜欢的是 当我们发布子projectA时,我们需要手动修改所有将projectA作为依赖项的项目以使用新版本。Saw Maven有一个版本插件,不知道这会有什么帮助。 作为解决方案,我希望在POM之间有一个更干净的组织,并

  • 我有一个简单的Maven项目,看起来像这个项目视图 有一个主要的pom。xml如下所示: 有两个模块-核心和测试。核心模块pom.xml: 测试模块pom。xml 我想使用核心内部测试的代码。这种依赖性看起来是正确的。该项目已生成,没有错误: 但是,当我在测试中尝试从core导入一个类时,找不到该类。

  • 我似乎无法让Maven在多模块项目中找到兄弟姐妹的模块。 我已经在所有模块中运行了。 下面是MagnicCompCommon 下面是Model

  • 我有一个多模块maven应用程序,我们需要通过Jenkins构建。项目结构如下: 现在,mvn清洁安装-fa.xml工作正常。为此,我创建了一个詹金斯的工作。现在,和a.xml一样,我有另一个项目b.xml.b.xml有和a.xml相同的代码,除了不同的Ids。所以,我又为詹金斯创造了一份工作b.xml.两份工作都很好。但是,现在我想根据我们在Git中提交的项目,从单个Jenkins工作中构建这两

  • 我正在我的querying-api模块中编写测试用例来测试我的API,并且我希望在测试开始用预定义的测试数据加载数据库之前运行我的数据库加载器服务,同时测试加载器是否仍然工作。但是,在运行时出现以下错误: 测试引用公共域定义库没有问题... 父POM文件: 数据库加载程序POM文件:

  • 我有以下Maven项目结构: i、 e.Project1、Project2和Project3在目录结构上是对等的,它们都是Spring Boot应用程序(JAR)。我想将Project2和Project3视为Project1的子项,而不改变目录结构。当我在父项目上执行相同的maven命令时,我需要在子项目上过渡地执行所有maven命令。而且最重要的是,我应该能够将它们打包到一个JAR文件中。我在谷

  • 但我在模块2中添加了依赖项。模块2是最后一个项目。 项目结构如下。 父项目的pom.xml