当前位置: 首页 > 面试题库 >

Java代理开发框架-Eclipse和Maven集成

沈骞仕
2023-03-14
问题内容

我使用JADE框架作为依赖项创建了一个maven项目,但是与普通的Java应用程序相比,该框架需要不同的命令来执行jar。

建立:

javac –classpath <JADE-classes> Class_name.java

跑:

java –classpath <JADE-classes> jade.Boot <agent-local-name>:<fully-qualified-agent-class>

哪里<fully-qualified-agent-class>package_name.Class_name

要么

java –cp lib\jade.jar jade.Boot [options] [AgentSpecifierlist]

是否可以使用maven插件构建 可运行的jar, 所以我只需键入java -jar myjar.jar而不是上面的命令?

mvn eclipse:eclipse编辑命令后Eclipse项目的变化构建参数 的pom.xml 文件?


问题答案:

JADE没有可用的此类插件,因为它没有得到广泛使用的框架,而且没有人愿意为此开发一个插件。但是有一种解决方法可以按常规方式运行它,但这仅在您已经知道自己的<fully- qualified-agent- class>名字的情况下才有效。您可以做的是编写一个扩展的类,Thread并从Threadrun()方法中通过传递<fully- qualified-agent-class>as参数来调用JADE框架代理。请参阅下面的示例。

jadeBootThread.java

public class jadeBootThread extends Thread {

private final String jadeBoot_CLASS_NAME = "jade.Boot";

private final String MAIN_METHOD_NAME = "main";

//add the <agent-local-name>:<fully-qualified-agent-class> name here;
// you can add more than one by semicolon separated values.
private final String ACTOR_NAMES_args = "Agent1:com.myagents.agent1";

private final String GUI_args = "-gui";

private final Class<?> secondClass;

private final Method main;

private final String[] params;

public jadeBootThread() throws ClassNotFoundException, SecurityException, NoSuchMethodException {
    secondClass = Class.forName(jadeBoot_CLASS_NAME);
    main = secondClass.getMethod(MAIN_METHOD_NAME, String[].class);
    params = new String[]{GUI_args, ACTOR_NAMES_args};
}

@Override
public void run() {
    try {
        main.invoke(null, new Object[]{params});
    } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
       ex.printStacktrace();
    }

}
}

现在,您可以使用eclipse插件等创建可运行的jar文件,从而从您的main方法或任何其他方式调用此线程



 类似资料:
  • 本小节我们将介绍如何在我们的电脑上安装并配置开发工具:Eclipse IDE 如果你想查看如何安装配置 IntelliJ IDEA,请点击此处查看 1. IDE 概述 1.1 IDE 是什么? IDE 即 Integrated Development Environment 的缩写,中文意为集成开发环境,是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成

  • 问题内容: 我已经开发了一个Spring / JPA应用程序: 服务,存储库和域层即将完成 。 该 所缺的只是层是网络层 。我正在考虑将Playframework 2.0用于Web层,但不确定是否可以 在Playframework 2.0类中注入/使用spring bean 。 这可能吗?如果可以,怎么办? 问题答案: 您可以。已针对Play 2.5.x更新: https://github.com

  • "One does not live by bread alone,but by every word that comes from the mouth of God" --(MATTHEW4:4) python开发框架 不管是python,还是php,亦或别的做web项目的语言,乃至于做其它非web项目的开发,一般都要用到一个称之为什么什么框架的东西。 框架的基本概念 开发这对框架的认识,由于

  • 我们在WebLogic11g下使用JSF2.1+PrimeFaces6.0+PrimeFaces-Extensions6.0.0、mojarra 2.1.7。 单击p:commandButton后,DOM inspector显示对话框已在正文和html标记之外创建,如下一个图像所示: 在正文外部呈现的对话框 如果我们使用相同的代码(没有帧)创建一个新的.xhtml,并单击p:commandButt

  • 一、Java集合类简介: Java集合大致可以分为Set、List、Queue和Map四种体系。 其中Set代表无序、不可重复的集合;List代表有序、重复的集合;而Map则代表具有映射关系的集合。Java 5 又增加了Queue体系集合,代表一种队列集合实现。 Java集合就像一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称对象)“丢进”该容器中。从Java 5 增加了泛型以后,Jav

  • 「盘古开发框架」是一套轻量稳健的工业级前、中、后台三维多端行业数字化赋能开发框架。基于商业友好的 Apache-2.0 协议免费开源发布。我们希望不仅是开源的受益者也能成为开源贡献者,与开源社区一起共建共享开源生态。 生态子项目 盘古开发框架由「盘古服务开发框架」、「盘古中后台业务系统开发脚手架」、「盘古移动端多平台开发脚手架」三个子项目组成。可以单独拆箱使用,也可以打包整合。 盘古服务开发框架(