日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

构件开发常见问题和错误的解决方案和处理方法

發(fā)布時(shí)間:2024/8/22 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 构件开发常见问题和错误的解决方案和处理方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問題及解決方案:

?1. 構(gòu)件開發(fā)完成后,啟動(dòng)后如何對構(gòu)件框架結(jié)構(gòu)進(jìn)行查看?

?問題原因:為便于構(gòu)件開發(fā)者對構(gòu)件的整體進(jìn)行把握,需要看到構(gòu)件的框架結(jié)構(gòu)。

解決方案:在當(dāng)前構(gòu)件開發(fā)的包中,新建一個(gè)HelloWord類,包含main函數(shù),并在函數(shù)中對構(gòu)件進(jìn)行啟動(dòng)。示例代碼如下所示:

啟動(dòng)SmcavsExplorer的代碼 ????Factory?factory?=?FactoryFactory
????????????.getFactory(FactoryFactory.SMCAVS_BACKEND);

????HashMap?context?
=?new?HashMap();
????context.put(
"name",?"Connection");
????context.put(
"definition",?"ustb.compbase.db.connection.Connection");

????Component?root?
=?(Component)?factory.newComponent(
????????????
"ustb.smcavs.explorer.BasicSmcavsExplorer",?context);
????Smcavs.getLifeCycleController(root).startFc();

錯(cuò)誤及處理方法:

1. 無效綁定:不對應(yīng)的簽名。異常內(nèi)容是:

Exception in thread "main" ustb.smcavs.adl.ADLException: Invalid binding: incompatible signatures (ustb/compbase/db/connection/Connection.smcavs:11)
?at ustb.smcavs.adl.bindings.TypeBindingLoader.checkBinding(TypeBindingLoader.java:119)
?at ustb.smcavs.adl.bindings.BindingLoader.checkBinding(BindingLoader.java:122)
?at ustb.smcavs.adl.bindings.BindingLoader.checkNode(BindingLoader.java:82)
?at ustb.smcavs.adl.bindings.BindingLoader.checkNode(BindingLoader.java:96)
?at ustb.smcavs.adl.bindings.BindingLoader.load(BindingLoader.java:54)
?at ustb.smcavs.adl.bindings.UnboundInterfaceDetectorLoader.load(UnboundInterfaceDetectorLoader.java:58)
?at ustb.smcavs.adl.BasicFactory.newComponent(BasicFactory.java:144)
?at ustb.compbase.db.connection.HelloWorld.main(HelloWorld.java:35)

問題原因:綁定關(guān)系無效。

解決方案:檢查構(gòu)件描述文件中的各個(gè)節(jié)點(diǎn)的definition,signature等相關(guān)信息及綁定關(guān)系項(xiàng)是否書寫正確。

2. 實(shí)例化異常:未定義smcavs.provider的值。內(nèi)容是:

ustb.smcavs.task.core.TaskExecutionException: An error occurs while executing task :"T2476072[CreateTypeTask()]"
?at ustb.smcavs.task.core.BasicScheduler.doSchedule(BasicScheduler.java:112)
?at ustb.smcavs.task.core.BasicScheduler.schedule(BasicScheduler.java:47)
?at ustb.smcavs.adl.BasicFactory.newComponent(BasicFactory.java:161)
?at ustb.compbase.db.connection.HelloWorld.main(HelloWorld.java:35)
Caused by: ustb.smcavs.api.factory.InstantiationException: The smcavs.provider value is not defined
?at ustb.smcavs.util.Smcavs.getBootstrapComponent(Smcavs.java:93)
?at ustb.smcavs.adl.types.SmcavsTypeBuilder.createInterfaceType(SmcavsTypeBuilder.java:68)
?at ustb.smcavs.adl.types.TypeCompiler$CreateTypeTask.execute(TypeCompiler.java:138)
?at ustb.smcavs.task.core.BasicScheduler.doSchedule(BasicScheduler.java:110)
?... 3 more
Exception in thread "main" ustb.smcavs.adl.ADLException: Unable to execute some of the tasks
?at ustb.smcavs.adl.BasicFactory.newComponent(BasicFactory.java:164)
?at ustb.compbase.db.connection.HelloWorld.main(HelloWorld.java:35)
Caused by: ustb.smcavs.task.core.TaskExecutionException: An error occurs while executing task :"T2476072[CreateTypeTask()]"
?at ustb.smcavs.task.core.BasicScheduler.doSchedule(BasicScheduler.java:112)
?at ustb.smcavs.task.core.BasicScheduler.schedule(BasicScheduler.java:47)
?at ustb.smcavs.adl.BasicFactory.newComponent(BasicFactory.java:161)
?... 1 more
Caused by: ustb.smcavs.api.factory.InstantiationException: The smcavs.provider value is not defined
?at ustb.smcavs.util.Smcavs.getBootstrapComponent(Smcavs.java:93)
?at ustb.smcavs.adl.types.SmcavsTypeBuilder.createInterfaceType(SmcavsTypeBuilder.java:68)
?at ustb.smcavs.adl.types.TypeCompiler$CreateTypeTask.execute(TypeCompiler.java:138)
?at ustb.smcavs.task.core.BasicScheduler.doSchedule(BasicScheduler.java:110)
?... 3 more
問題原因:未定義java虛擬機(jī)的smcavs運(yùn)行環(huán)境變量。

解決方案:在run configuration中的 arguments標(biāo)簽中的vm auguments文本框內(nèi)輸入:

-Dsmcavs.provider=ustb.smcavs.julia.Julia

點(diǎn)擊run,即可。

3. 構(gòu)件的實(shí)現(xiàn)需要實(shí)現(xiàn)BindingController 接口,因?yàn)闃?gòu)件類型包含客戶端接口。

Exception in thread "main" ustb.smcavs.adl.ADLException: Unable to execute some of the tasks
?at ustb.smcavs.adl.BasicFactory.newComponent(BasicFactory.java:164)
?at ustb.compbase.db.operation.HelloWorld.main(HelloWorld.java:35)
Caused by: ustb.smcavs.task.core.TaskExecutionException: An error occurs while executing task :"T6510044[CreateTask(SelectOperation,primitive,ustb.compbase.db.operation.SelectOperation)]"
?at ustb.smcavs.task.core.BasicScheduler.doSchedule(BasicScheduler.java:112)
?at ustb.smcavs.task.core.BasicScheduler.schedule(BasicScheduler.java:47)
?at ustb.smcavs.adl.BasicFactory.newComponent(BasicFactory.java:161)
?... 1 more
Caused by: InstantiationException: The component implementation class 'ustb.compbase.db.operation.SelectOperation' must implement the BindingController interface, since the component type contains client interfaces
?at ustb.smcavs.julia.generated.C974eb5d4_0.checkFcContentClass(C974eb5d4_0.java:239)
?at ustb.smcavs.julia.generated.C974eb5d4_0.newFcInstance(C974eb5d4_0.java:67)
?at ustb.smcavs.julia.generated.C3bdbaf28_0.newFcInstance(C3bdbaf28_0.java:45)
?at ustb.smcavs.adl.implementations.SmcavsImplementationBuilder.createComponent(SmcavsImplementationBuilder.java:74)
?at ustb.smcavs.adl.implementations.ImplementationCompiler$CreateTask.execute(ImplementationCompiler.java:245)
?at ustb.smcavs.task.core.BasicScheduler.doSchedule(BasicScheduler.java:110)
?... 3 more
問題原因:構(gòu)件調(diào)用了客戶端接口,但沒有實(shí)現(xiàn)BindingController接口

解決方案:在構(gòu)件實(shí)現(xiàn)代碼中implements BindingController接口并實(shí)現(xiàn)其相應(yīng)的方法。

4. 構(gòu)件Explorer視圖中接口和構(gòu)件的連接線錯(cuò)位,致使看不清楚構(gòu)件與接口的連接情況。

問題原因:視圖中接口的排列順序?yàn)樽值漤樞?#xff0c;而構(gòu)件的順序是按照描述文件中的順序。

解決方案:因?yàn)樽值漤樞驗(yàn)橄到y(tǒng)平臺確定下來的,可以在構(gòu)件描述文件中修改構(gòu)件的順序,使之與接口的連接順序一致即可。

轉(zhuǎn)載于:https://www.cnblogs.com/destimarve/archive/2010/12/08/component_problems.html

總結(jié)

以上是生活随笔為你收集整理的构件开发常见问题和错误的解决方案和处理方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。