【问题标题】:Achilles 4.2.0 compilation error - cannot find symbol symbol: class Table location: package info.archinnov.achilles.annotationsAchilles 4.2.0 编译错误 - 找不到符号符号:类表位置:包 info.archinnov.achilles.annotations
【发布时间】:2020-01-14 18:17:58
【问题描述】:

我在编译简单的 achilles maven 项目时遇到了一些问题。 我的 pom.xml:

<dependencies>
        <dependency>
            <groupId>info.archinnov</groupId>
            <artifactId>achilles-core</artifactId>
            <version>4.2.0</version>
        </dependency>
        <dependency>
            <groupId>info.archinnov</groupId>
            <artifactId>achilles-model</artifactId>
            <version>4.2.0</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <useIncrementalCompilation>false</useIncrementalCompilation>
                </configuration>
            </plugin>
        </plugins>
    </build>

我在这里配置了 Intellij Idea Annotation Process:https://github.com/doanduyhai/Achilles/wiki/IDE-configuration

当我尝试运行 mvn -X clean install 时,我遇到了一些编译错误:

[ERROR] /home/konrad/Pulpit/CassandraAchilles/target/generated-sources/annotations/info/archinnov/achilles/generated/meta/entity/User_AchillesMeta.java:[49,69] cannot find symbol
  symbol: class User
[ERROR] /home/konrad/Pulpit/CassandraAchilles/target/generated-sources/annotations/info/archinnov/achilles/generated/manager/User_Manager.java:[25,57] cannot find symbol
  symbol: class User
[ERROR] /home/konrad/Pulpit/CassandraAchilles/target/generated-sources/annotations/info/archinnov/achilles/generated/meta/entity/User_AchillesMeta.java:[59,38] cannot find symbol
  symbol:   class User
  location: class info.archinnov.achilles.generated.meta.entity.User_AchillesMeta
[ERROR] /home/konrad/Pulpit/CassandraAchilles/target/generated-sources/annotations/info/archinnov/achilles/generated/meta/entity/User_AchillesMeta.java:[70,38] cannot find symbol
  symbol:   class User
  location: class info.archinnov.achilles.generated.meta.entity.User_AchillesMeta

用户是我的实体:

import info.archinnov.achilles.annotations.Column;
import info.archinnov.achilles.annotations.PartitionKey;
import info.archinnov.achilles.annotations.Table;

@Table(keyspace = "example", table = "user")
public class User {

    @PartitionKey
    private Long id;

    @Column("fname")
    private String firstName;

    @Column("age")
    private int age;


    public User() {
    }

    public User(Long id, String firstName, int age) {
        this.id = id;
        this.firstName = firstName;
        this.age = age;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

我做错了什么?

【问题讨论】:

  • 你把你的用户类,即目录结构放在哪里?
  • 在 java 文件夹中,我不创建任何包。我这里也有主课。
  • 在maven中配置注解处理器的方式是跳过IDE注解处理器配置吗?

标签: java maven cassandra


【解决方案1】:

对我来说User 类包含在一个包中解决了这个问题。

看来问题出在代码的生成方式上,正如你提到的IDE configuration page末尾解释的那样:

在某些情况下,如果处理器无法正确生成代码,您可能需要使用 Maven 进行干净的构建(这实际上是唯一在任何情况下都能 100% 工作的方法)。为此,请打开一个 shell 终端并输入 mvn clean compile,然后返回 IDE 并刷新您的项目,您应该会看到生成的代码。

【讨论】:

    猜你喜欢
    • 2015-02-03
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 2014-07-01
    • 2015-11-06
    • 1970-01-01
    相关资源
    最近更新 更多