В настоящее время я пытаюсь создать агентов с платформой 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
Большое спасибо за вашу помощь! У меня много проблем, пытаясь понять, в чем проблема.
Да, в самом деле ! Мне нужно запустить агентов в этом приложении.
содержит ли ваш построенный файл .war класс агента в классах или библиотеках?
Хм, я не упаковал свое приложение Play в виде файла войны, не так ли? Я новичок как в Play, так и в Jade, так что я немного растерялся.
какие инструменты ты используешь? IDE обычно создает артефакты, которые запускаются. Вы пользуетесь maven?
Я не использую maven, только Typesafe Activator для сборки / запуска проекта и IntelliJ для его кодирования.




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