【问题标题】:No class def found error when building maven project构建maven项目时No class def found错误
【发布时间】:2023-01-15 14:24:01
【问题描述】:

我正在使用querydsl,当我尝试构建 Maven 项目时它失败了:

引起:java.lang.ClassNotFoundException:com.mysema.codegen.model.Type

    <dependency>
        <groupId>com.querydsl</groupId>
        <artifactId>querydsl-jpa</artifactId>
        <version>4.2.1</version>
    </dependency>
    <dependency>
        <groupId>com.querydsl</groupId>
        <artifactId>querydsl-apt</artifactId>
        <version>4.2.1</version>
    </dependency>

【问题讨论】:

  • 看起来像:com.mysema.codegen.model.Type 是您的代码生成模块中的一些代码/类。您需要将它们添加到您的类路径中以进行编译。
  • @SeanH 如果我在整个项目中搜索它并且没有它存在的地方

标签: java spring-boot maven querydsl


【解决方案1】:

您可以尝试将以下依赖项添加到您的 Maven pom.xml 中:

<!-- https://mvnrepository.com/artifact/com.mysema.codegen/codegen -->
<dependency>
    <groupId>com.mysema.codegen</groupId>
    <artifactId>codegen</artifactId>
    <version>0.6.8</version>
</dependency>

然后再次编译项目。

【讨论】:

    【解决方案2】:

    你可以试试新版本

            <dependency>
                <groupId>com.querydsl</groupId>
                <artifactId>querydsl-apt</artifactId>
                <version>5.0.0</version>
            </dependency>
            <dependency>
                <groupId>com.querydsl</groupId>
                <artifactId>querydsl-jpa</artifactId>
                <version>5.0.0</version>
            </dependency>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-06
      • 1970-01-01
      • 2019-01-27
      相关资源
      最近更新 更多