<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-61  評論-159  文章-0  trackbacks-0
    最近由于項目用到drools,所以只有一邊學習一邊開發(fā),首先先安裝好插件搭好開發(fā)環(huán)境。
    下載drools eclipse插件,地址為:http://www.jboss.org/drools/downloads.html
    解壓用links方式安裝插件,如果features目錄和plugins目錄上層沒有eclipse文件夾,就要建一個。

    在Eclipse目錄下面新建一個links文件夾,里面建一個XXX.link,內(nèi)容為:path=F://plugins/drools

    啟動Eclipse,在window----prefernces那里如果看不到又drools,就說明插件安裝不成功。

    Eclipse3.4安裝drools插件遇到識別不了插件,解決方案如下:

    F:\eclipse\configuration\org.eclipse.equinox.simpleconfigurator下面bundles.info最后加上以下幾句:

    org.guvnor.tools,5.0.1,file:plugins\org.guvnor.tools_5.0.1.jar,4,false
    org.eclipse.webdav,3.0.101,file:plugins\org.eclipse.webdav_3.0.101.jar,4,false
    org.drools.eclipse,5.0.1,file:plugins\org.drools.eclipse_5.0.1.jar,4,false
    org.drools.eclipse.task,5.0.1,file:plugins\org.drools.eclipse.task_5.0.1.jar,4,false

    保存即可。

    再次啟動Eclipse就可以成功安裝插件,window----prefernces---drools插件,配置drools的依賴包環(huán)境,這些很簡單,省略。

    新建一個drools工程,就會看到一個附帶的helloworld的例子,執(zhí)行java文件即可執(zhí)行測試。

    Sample.drl

    package com.sample
     
    import com.sample.DroolsTest.Message;
     
    rule "Hello World"
        when
            m : Message( status == Message.HELLO, myMessage : message )
        then
            System.out.println( myMessage ); 
            m.setMessage( "Goodbye cruel world" );
            m.setStatus( Message.GOODBYE );
            update( m );
    end

    rule "GoodBye"
        when
            Message( status == Message.GOODBYE, myMessage : message )
        then
            System.out.println( myMessage );
    end


    DroolsTest.java

     1package com.sample;
     2
     3import org.drools.KnowledgeBase;
     4import org.drools.KnowledgeBaseFactory;
     5import org.drools.builder.KnowledgeBuilder;
     6import org.drools.builder.KnowledgeBuilderError;
     7import org.drools.builder.KnowledgeBuilderErrors;
     8import org.drools.builder.KnowledgeBuilderFactory;
     9import org.drools.builder.ResourceType;
    10import org.drools.io.ResourceFactory;
    11import org.drools.logger.KnowledgeRuntimeLogger;
    12import org.drools.logger.KnowledgeRuntimeLoggerFactory;
    13import org.drools.runtime.StatefulKnowledgeSession;
    14
    15/**
    16 * This is a sample class to launch a rule.
    17 */

    18public class DroolsTest {
    19
    20    public static final void main(String[] args) {
    21        try {
    22            // load up the knowledge base
    23            KnowledgeBase kbase = readKnowledgeBase();
    24            StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
    25            KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test");
    26            // go !
    27            Message message = new Message();
    28            message.setMessage("Hello World");
    29            message.setStatus(Message.HELLO);
    30            ksession.insert(message);
    31            ksession.fireAllRules();
    32            logger.close();
    33        }
     catch (Throwable t) {
    34            t.printStackTrace();
    35        }

    36    }

    37
    38    private static KnowledgeBase readKnowledgeBase() throws Exception {
    39        KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
    40        kbuilder.add(ResourceFactory.newClassPathResource("Sample.drl"), ResourceType.DRL);
    41        KnowledgeBuilderErrors errors = kbuilder.getErrors();
    42        if (errors.size() > 0{
    43            for (KnowledgeBuilderError error: errors) {
    44                System.err.println(error);
    45            }

    46            throw new IllegalArgumentException("Could not parse knowledge.");
    47        }

    48        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
    49        kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
    50        return kbase;
    51    }

    52
    53    public static class Message {
    54        
    55        public static final int HELLO = 0;
    56        public static final int GOODBYE = 1;
    57
    58        private String message;
    59
    60        private int status;
    61
    62        public String getMessage() {
    63            return this.message;
    64        }

    65
    66        public void setMessage(String message) {
    67            this.message = message;
    68        }

    69
    70        public int getStatus() {
    71            return this.status;
    72        }

    73
    74        public void setStatus(int status) {
    75            this.status = status;
    76        }

    77        
    78    }

    79
    80}

    輸出:

    Hello World
    Goodbye cruel world



    -------------------------------------------------------------------------------------------------
    PS:本博客文章,如果沒有注明是有“轉(zhuǎn)”字樣,屬于本人原創(chuàng)。如果需要轉(zhuǎn)載,務必注明作者文章的詳細出處地址,否則不允許轉(zhuǎn)載,多謝合作!
    posted on 2010-01-17 21:08 apple0668 閱讀(6033) 評論(2)  編輯  收藏 所屬分類: drools

    評論:
    # re: eclipse3.4安裝drools插件手記[未登錄] 2012-01-20 13:48 | 啊啊
    撒旦法  回復  更多評論
      
    # re: eclipse3.4安裝drools插件手記[未登錄] 2012-01-20 13:50 | aa
    能否給出測試的是drools的那個版本啊 為什么4.0.7版本跟5的版本測試代碼區(qū)別很大,并且都需要依賴什么jar包呢  回復  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 成人午夜免费福利| 久久受www免费人成_看片中文| 亚洲国产精品成人网址天堂| 亚洲av综合日韩| 亚洲?V无码成人精品区日韩| 日韩在线观看免费完整版视频| 亚洲AV无码一区二区三区在线观看 | 国产精品成人四虎免费视频| 亚洲欧洲精品成人久久曰| 最近中文字幕mv手机免费高清 | 亚洲色成人网一二三区| 国产成人精品久久免费动漫| 亚洲区视频在线观看| 成年女人毛片免费播放视频m| 亚洲爆乳精品无码一区二区| 俄罗斯极品美女毛片免费播放| 免费无码又爽又黄又刺激网站| 国产亚洲精品a在线观看 | a级特黄毛片免费观看| 亚洲大片在线观看| 91情侣在线精品国产免费| 亚洲一本到无码av中文字幕| 免费大香伊蕉在人线国产| 特级毛片全部免费播放a一级| 亚洲日韩v无码中文字幕 | 30岁的女人韩剧免费观看| 亚洲AV成人影视在线观看| 亚洲 小说区 图片区 都市| 99re6在线精品免费观看| 亚洲人成黄网在线观看| 波多野结衣中文一区二区免费| 国产午夜无码片免费| 亚洲精品第一综合99久久| 一本色道久久88亚洲综合| 久久er国产精品免费观看2| 久久精品国产亚洲av麻豆蜜芽| 免费国产a国产片高清网站| 久久精品免费电影| 亚洲aⅴ天堂av天堂无码麻豆| 亚洲爆乳无码专区| 全免费一级午夜毛片|