<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)站導航:
     
    主站蜘蛛池模板: 黄色一级毛片免费看| 亚洲制服在线观看| 欧洲美女大片免费播放器视频| 国产麻豆视频免费观看| 亚洲免费在线观看视频| 一区二区在线免费观看| 一日本道a高清免费播放| 亚洲国产成人精品无码久久久久久综合 | 久久精品国产免费| 毛片视频免费观看| 2017亚洲男人天堂一| 中文字幕无码一区二区免费| 亚洲精品~无码抽插| 久久精品国产免费一区| 亚洲精品在线播放视频| 一级毛片一级毛片免费毛片 | 午夜无遮挡羞羞漫画免费| 亚洲丶国产丶欧美一区二区三区| 国产精品免费一级在线观看| 牛牛在线精品观看免费正| 国产亚洲精品国产| 999久久久免费精品国产| 亚洲国产精品成人综合色在线| 日韩亚洲精品福利| 亚洲综合在线一区二区三区| 四虎影视在线影院在线观看免费视频| 亚洲综合视频在线| 在线成人a毛片免费播放| 一级毛片在线免费视频| 亚洲人成影院在线| 日韩免费视频播放| 日本视频在线观看永久免费| 亚洲一区免费在线观看| 亚洲熟女乱综合一区二区| 中文字幕免费在线看线人 | 亚洲Av高清一区二区三区| 四虎永久在线免费观看| 亚洲欧美熟妇综合久久久久| 亚洲国产黄在线观看| **一级毛片免费完整视| 精品女同一区二区三区免费播放|