tl;dr
1. example class 沒有在classpath 裡找到
2. 猜是程式沒停止 佔用1099 port, windows用工作管理員找到中指它
== Linux mini tutorial
#slowly, svn name/pwd: jade/jade
git svn clone https://avalon.cselt.it/svn/jade/trunk jade-git
cd jade-git
# 我這 ant 會找不到 demo/CalendarBean.jar
ant -lib demo dist_all
# run example, classpath分隔符號 windows 用; linux 用:
java -cp .:lib/jade.jar:demo/CalendarBean.jar:classes \
jade.Boot -gui -local-host 127.0.0.1 hello:examples.hello.HelloWorldAgent
# run demo
java -jar demo/MeetingScheduler.jar -nomtp -gui \
Tizio:demo.MeetingScheduler.MeetingSchedulerAgent \
Caio:demo.MeetingScheduler.MeetingSchedulerAgent
== Eclipse 設定
main class:
jade.Boot
program arguments:
"-gui -local-host 127.0.0.1 Hello:examples.hello.HelloWorldAgen"
== No ICP active ERROR
出現以下錯誤時,找出 process 停止或 kill
"""
2012/3/18 下午 05:53:47 jade.imtp.leap.CommandDispatcher addICP
警告: Error adding ICP jade.imtp.leap.JICP.JICPPeer@a4a63d8[Cannot bind
server socket to localhost port 1099].
2012/3/18 下午 05:53:47 jade.core.AgentContainerImpl joinPlatform
嚴重的: Communication failure while joining agent platform: No ICP active
jade.core.IMTPException: No ICP active
"""
== Resource
http://jade.tilab.com/doc/tutorials/JADEAdmin/startJade.html
http://www.javaworld.com.tw/jute/post/view?bid=11&id=199733&sty=1
※ 引述《ken12517 (向月葵)》之銘言:
: 如題,因為製作專題的關係,需要使用到代理人
: 因此選定jade來做為代理人來運作
: 但我在運行jade官網所提供的範例時
: 一直無法運行成功
: 所以請各位大大幫忙看一下哪邊設置有問題,或者是錯誤
: 參考文章:http://0rz.tw/FPorE
: 基本上都是按照參考文章的方式設定,只是不知道為什麼會出現
: 以下是關於運行的相關資料和程式碼、錯誤訊息
: 運行環境為 jdk1.7.0_01 + eclipse indigo + jade 3.4.1
: 環境變數:
: .;C:\jade\lib\jade.jar;
: C:\jade\lib\jadeTools.jar;
: C:\jade\lib\http.jar;
: C:\jade\lib\iiop.jar;
: C:\jade\lib\commons-codec\commons-codec-1.3.jar
: 運行的範例程式碼:
: package examples.hallo;
: import jade.core.Agent;
: /**
: This example show a minimal agent that just prints "Hallo World!"
: and then terminates.
: @author Giovanni Caire - TILAB
: */
: public class HalloWorldAgent extends Agent {
: protected void setup() {
: System.out.println("Hallo World! My name is "+getLocalName());
: // Make this agent terminate
: doDelete();
: }
: }
: 錯誤訊息有兩個(有點長....):
: 1.第一次執行會出現
: 三月 17, 2012 5:07:04 下午 jade.core.Runtime beginContainer
: 資訊: ----------------------------------
: This is JADE 3.4.1 - revision 5912 of 2006/11/16 13:09:18
: downloaded in Open Source, under LGPL restrictions,
: at http://jade.tilab.com/
: ----------------------------------------
: 三月 17, 2012 5:07:06 下午 jade.core.BaseService init
: 資訊: Service jade.core.management.AgentManagement initialized
: 三月 17, 2012 5:07:06 下午 jade.core.BaseService init
: 資訊: Service jade.core.messaging.Messaging initialized
: 三月 17, 2012 5:07:06 下午 jade.core.BaseService init
: 資訊: Service jade.core.mobility.AgentMobility initialized
: 三月 17, 2012 5:07:06 下午 jade.core.BaseService init
: 資訊: Service jade.core.event.Notification initialized
: 三月 17, 2012 5:07:06 下午 jade.mtp.http.HTTPServer <init>
: 資訊: HTTP-MTP Using XML parser
: com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser
: 三月 17, 2012 5:07:06 下午 jade.core.messaging.MessagingService boot
: 資訊: MTP addresses:
: http://E801Lab-PC:7778/acc
: 三月 17, 2012 5:07:06 下午 jade.core.AgentContainerImpl startBootstrapAgents
: 嚴重: Cannot create agent Hallo: Class examples.hallo.HalloWorldAgent for
: agent ( agent-identifier :name Hallo@E801Lab-PC:1099/JADE ) not found [nested
: java.lang.ClassNotFoundException: examples.hallo.HalloWorldAgent]
: 三月 17, 2012 5:07:06 下午 jade.core.AgentContainerImpl joinPlatform
: 資訊: --------------------------------------
: Agent container Main-Container@JADE-IMTP://E801Lab-PC is ready.
: --------------------------------------------
: 會出現一個嚴重:Cannot create agent Hallo: Class examples.hallo.HalloWorldAgent for
: agent ( agent-identifier :name Hallo@E801Lab-PC:1099/JADE ) not found [nested
: java.lang.ClassNotFoundException: examples.hallo.HalloWorldAgent]
: 想請問這要如何解決???
: 2.再來是有時候也會出現下面這個情況,想請問要如何解決???
: 三月 17, 2012 4:43:26 下午 jade.core.AgentContainerImpl joinPlatform
: 嚴重: Some problem occurred while joining agent platform.
: jade.core.ProfileException: Can't get a proxy to the Platform Manager [nested
: jade.core.IMTPException: The Service Manager was already bound in the RMI
: Registry [nested java.rmi.AlreadyBoundException: ServiceManager]]
: at jade.core.ProfileImpl.createPlatformManager(Unknown Source)
: at jade.core.ProfileImpl.getPlatformManager(Unknown Source)
: at jade.core.ProfileImpl.getServiceManager(Unknown Source)
: at jade.core.AgentContainerImpl.init(Unknown Source)
: at jade.core.AgentContainerImpl.joinPlatform(Unknown Source)
: at jade.core.Runtime.createMainContainer(Unknown Source)
: at jade.Boot.<init>(Unknown Source)
: at jade.Boot.main(Unknown Source)
: Nested Exception:
: jade.core.IMTPException: The Service Manager was already bound in the RMI
: Registry [nested java.rmi.AlreadyBoundException: ServiceManager]
: at jade.imtp.rmi.RMIIMTPManager.exportPlatformManager(Unknown Source)
: at jade.core.ProfileImpl.createPlatformManager(Unknown Source)
: at jade.core.ProfileImpl.getPlatformManager(Unknown Source)
: at jade.core.ProfileImpl.getServiceManager(Unknown Source)
: at jade.core.AgentContainerImpl.init(Unknown Source)
: at jade.core.AgentContainerImpl.joinPlatform(Unknown Source)
: at jade.core.Runtime.createMainContainer(Unknown Source)
: at jade.Boot.<init>(Unknown Source)
: at jade.Boot.main(Unknown Source)
: Nested Exception:
: java.rmi.AlreadyBoundException: ServiceManager
: at sun.rmi.registry.RegistryImpl.bind(RegistryImpl.java:153)
: at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
: at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:409)
: at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:267)
: at sun.rmi.transport.Transport$1.run(Transport.java:177)
: at sun.rmi.transport.Transport$1.run(Transport.java:174)
: at java.security.AccessController.doPrivileged(Native Method)
: at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
: at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
: at
: sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
: at
: sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
: at
: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
: at
: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
: at java.lang.Thread.run(Thread.java:722)
: at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown
: Source)
: at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
: at sun.rmi.server.UnicastRef.invoke(Unknown Source)
: at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
: at java.rmi.Naming.bind(Unknown Source)
: at jade.imtp.rmi.RMIIMTPManager.exportPlatformManager(Unknown Source)
: at jade.core.ProfileImpl.createPlatformManager(Unknown Source)
: at jade.core.ProfileImpl.getPlatformManager(Unknown Source)
: at jade.core.ProfileImpl.getServiceManager(Unknown Source)
: at jade.core.AgentContainerImpl.init(Unknown Source)
: at jade.core.AgentContainerImpl.joinPlatform(Unknown Source)
: at jade.core.Runtime.createMainContainer(Unknown Source)
: at jade.Boot.<init>(Unknown Source)
: at jade.Boot.main(Unknown Source)
: 三月 17, 2012 4:43:26 下午 jade.core.Runtime$1 run
: 資訊: JADE is closing down now.
: 麻煩大大解答了,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.40.176
※ 編輯: xlk 來自: 114.32.40.176 (03/18 18:22)
※ 編輯: xlk 來自: 114.32.40.176 (03/18 19:51)
推
03/19 03:06, , 1F
03/19 03:06, 1F
→
03/19 03:08, , 2F
03/19 03:08, 2F
討論串 (同標題文章)