<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,所以只有一邊學習一邊開發,首先先安裝好插件搭好開發環境。
    下載drools eclipse插件,地址為:http://www.jboss.org/drools/downloads.html
    解壓用links方式安裝插件,如果features目錄和plugins目錄上層沒有eclipse文件夾,就要建一個。

    在Eclipse目錄下面新建一個links文件夾,里面建一個XXX.link,內容為: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的依賴包環境,這些很簡單,省略。

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

    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:本博客文章,如果沒有注明是有“轉”字樣,屬于本人原創。如果需要轉載,務必注明作者文章的詳細出處地址,否則不允許轉載,多謝合作!
    posted on 2010-01-17 21:08 apple0668 閱讀(6032) 評論(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的版本測試代碼區別很大,并且都需要依賴什么jar包呢  回復  更多評論
      

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


    網站導航:
     
    主站蜘蛛池模板: 日韩a级无码免费视频| 男女交性无遮挡免费视频| 免费看成人AA片无码视频吃奶| 四虎影视永久免费观看地址| 久久精品国产亚洲av天美18| 国产精品成人免费综合| 亚洲av午夜电影在线观看| 免费鲁丝片一级观看| 亚洲天然素人无码专区| 日本特黄特色aa大片免费| 豆国产96在线|亚洲| 亚洲国产V高清在线观看| 免费很黄无遮挡的视频毛片| 亚洲人成网站在线观看青青| 国产啪精品视频网站免费尤物| 亚洲av无码专区在线播放| 99久热只有精品视频免费观看17| 亚洲一区二区三区高清| 国产精品成人观看视频免费| 亚洲色偷精品一区二区三区| 免费一级毛片清高播放| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 97av免费视频| 亚洲大成色www永久网址| 免费A级毛片在线播放不收费| av网站免费线看| 久久亚洲日韩精品一区二区三区| 四虎最新永久免费视频| 性色av极品无码专区亚洲| 久久久久一级精品亚洲国产成人综合AV区| 四虎国产精品免费永久在线| 亚洲精品视频免费在线观看| 日本成人在线免费观看| 国产偷伦视频免费观看| 亚洲av日韩av综合| 亚洲乱码中文字幕综合234| 99国产精品免费观看视频| 无码色偷偷亚洲国内自拍| 亚洲AV无码码潮喷在线观看| 成人免费777777| a级毛片高清免费视频就|