Использование Jade в Play 2.0 Java: пользовательский класс агента не найден

В настоящее время я пытаюсь создать агентов с платформой JADE в Java-приложении Play 2.0. Для этого я использую базовый шаблон java play. Мой метод индекса в классе HomeController выглядит следующим образом:

public Result index() {
        try {
            Runtime rt = Runtime.instance();
            Properties p = new ExtendedProperties();
            p.setProperty("gui", "true");
            ProfileImpl pc = new ProfileImpl(p);
            ContainerController container = rt.createMainContainer(pc);
            AgentController agentController1=container.createNewAgent("Agent1","controllers.BaseAgent",new Object[]{""});
            agentController1.start();

        } catch (Exception e){
            e.printStackTrace();
        }
        return ok(index.render("Your new application is ready."));
    }

Графический интерфейс контейнера появляется, когда я перехожу на localhost, и это нормально. Однако в консоли появляется следующая ошибка:

jade.core.IMTPException: Контроллеры класса.BaseAgent для агента (идентификатор-агента: имя [email protected]: 1099 / JADE) не найден - Причина: контроллеры.BaseAgent

Мой класс BaseAgent выглядит следующим образом (и действительно находится в пакете контроллеров):

package controllers;

import jade.core.Agent;

public class BaseAgent extends Agent {
    @Override
    protected void setup(){
        System.out.println("I am the BaseAgent");
    }
}

Я думал, что проблема может быть связана с тем, что контейнер не инициализирован в основном методе, но приложение, являющееся проектом Play, не имеет основного метода. Это также может быть связано с проблемой пути к классам, когда я пытаюсь добавить агент из графического интерфейса, я получаю только один вариант:

Путь к классам содержит один класс, расширяющий jade.core.Agent

Большое спасибо за вашу помощь! У меня много проблем, пытаясь понять, в чем проблема.

Я правильно понял? Вы создаете веб-приложение и пытаетесь запустить в нем агент, не так ли?

nikelyn 24.04.2018 11:57

Да, в самом деле ! Мне нужно запустить агентов в этом приложении.

Cem Sidawy 24.04.2018 13:22

содержит ли ваш построенный файл .war класс агента в классах или библиотеках?

nikelyn 24.04.2018 13:24

Хм, я не упаковал свое приложение Play в виде файла войны, не так ли? Я новичок как в Play, так и в Jade, так что я немного растерялся.

Cem Sidawy 24.04.2018 13:59

какие инструменты ты используешь? IDE обычно создает артефакты, которые запускаются. Вы пользуетесь maven?

nikelyn 24.04.2018 17:34

Я не использую maven, только Typesafe Activator для сборки / запуска проекта и IntelliJ для его кодирования.

Cem Sidawy 25.04.2018 09:00
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
6
109
0

Другие вопросы по теме