gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 05:13:01 25 4
gpt4 key购买 nike

我用 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命令在编辑 pom.xml 文件后更改 eclipse 项目的构建参数?

最佳答案

JADE 没有任何此类插件可用,因为它不是广泛使用的框架,也没有人愿意为它开发插件。但是有一种解决方法可以以常规方式运行它,但这只有在您已经知道 <fully-qualified-agent-class> 的情况下才有效。名字。你可以做的是编写一个扩展 Thread 的类从那Threadrun()方法通过传递 <fully-qualified-agent-class> 来调用 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 文件,从您的主方法或任何其他方式调用此线程。

关于Java 代理开发框架 - Eclipse 和 Maven 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27620218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com