Не удается создать новый объект из зависимости Maven

#java #class #maven #intellij-idea #ebean

#java #класс #maven #intellij-идея #ebean

Вопрос:

Я пытаюсь создать Ebean ServerConfig, как описано здесь: http://www.avaje.org/ebean/getstarted_programmatic.html

Но, когда в моем проекте я создаю новый объект ServerConfig, я не могу получить доступ к методам в нем.

 package controller;

import com.avaje.ebean.config.ServerConfig;

public class ormConfig {
    ServerConfig config = new ServerConfig();
    config.setName("mysql");
}
  

Нет ожиданий, нет подсказки от IDE. Только ошибка компилятора:

«Ошибка: (14, 19) java: <идентификатор> ожидается»

https://gist.github.com/Szil/f65bc2d7180d2ae49ad5

Включено pom.xml в самой сути.

Я понятия не имею, в чем проблема. Немного новичок в Maven и не совсем эксперт в Java, но простое создание нового объекта не должно быть проблемой большую часть времени.

Комментарии:

1. И на что указывает эта ошибка?

2. Неважно, ответ: «Вы не можете иметь произвольный код непосредственно внутри класса».

Ответ №1:

Вы не можете иметь произвольный код непосредственно внутри класса. Только объявления полей и методов. Код, подобный

  config.setName("mysql");
  

необходимо перейти в метод или конструктор.

Кроме того, классы обычно начинаются с заглавной буквы в Java:

 public class OrmConfig {
    ServerConfig config = new ServerConfig();

    OrmConfig() {
        config.setName("mysql");
    }
}
  

Комментарии:

1. Большое вам спасибо! О боже, совершенно забыл об этом.

Ответ №2:

Вам необходимо создать конфигурацию внутри конструктора или метода, поскольку вы не можете сделать это в другом месте. Например:

 import com.avaje.ebean.config.ServerConfig;

public class OrmConfig {

    private ServerConfig config;

    public OrmConfig() {
        config = new ServerConfig();
        config.setName("mysql");
    }
}
  

Кстати, какую среду IDE вы используете, потому что это определенно отображается в Intellij. 🙂

Комментарии:

1. Странно, я использую IntelliJ и только что сказал «Не удается разрешить символ».