运行 一个没有 main 的 jade 程序 class

Running a jade program without a main class

我有一个简单的 Maven 项目,代码如下。

import jade.core.Agent;
public class HelloAgent extends Agent 
{ 
    protected void setup() 
    { 
        System.out.println(getLocalName()); 
    }
}

我如何运行这个程序?。当我右键单击 运行 它时,我没有看到 运行 作为 Java 应用程序。 我在这里学习教程

http://www.iro.umontreal.ca/~vaucher/Agents/Jade/primer2.html

% javac HelloAgent.java 
% java jade.Boot fred:HelloAgent

输出

fred

您应该像这样添加 main 方法:

   public class HelloAgent extends Agent 
   { 
     public static void main (String[] args) 
     {
          HelloAgent helloAgent = new HelloAgent();
          helloAgent.setup();
     }

     protected void setup() 
     { 
          System.out.println(getLocalName()); 
     }
   }

为了 运行 class java as Java Application 你需要一个像上面那样的 main 方法。

您需要将 Maven 设置为具有执行 jade.Boot 的 运行 任务。你有一个few different ways to do this. Here is a complete example for Jade using 'profiles'

对于上面的示例,它看起来有点像:

    <profile>
      <id>jade-fred</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.3.2</version>
            <configuration>
              <mainClass>jade.Boot</mainClass>
              <arguments>
                <argument>fred:HelloAgent</argument>
              </arguments>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

并将执行:

mvn -Pjade-fred exec:java