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

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

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

    spark的自留地(ofbiz/eclipse rcp/shark/opentaps)

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      54 Posts :: 0 Stories :: 112 Comments :: 0 Trackbacks

    #

    o 使用安全連接
    在你的<request-map ..>編輯中使用<security > 標簽,其中https="true"將使頁面使用https協議,auth="true|false"決定用戶是否必須先登入系統,direct-request="false"將不允許用戶直接通過瀏覽器輸入地址方式訪問(即只能通過request-chain請求鏈方式訪問)

    o 異步方式運行服務
    <event type="sevice" path="async" >

    o 確認用戶不會多次提交表單
    使用
    <response type="request-redirect" >
    替代type="view",在使用request-redirect做為回應方式時,將會將參數作為URL一部分,所以在有特殊字符時有可能導致錯誤。所以不要這樣使用:
    <response name="viewContact" type="request-redirect" value="viewContact"/>
    可以使用以下方式來替代:
    <response name="viewContact" type="request" value="viewContact"/>

    o 錯誤信息的獲得
    錯誤與事件信息被設置于請求屬性中的 _ERROR_MESSAGE_(String),_EVENT_MESSAGE_(String)。它們可以request.setAttribute()方式設置及通過request.getAttribute()方式讀取。
    參考 framework/common/webcommon/includes/messages.ftl

    o 在請求后進行重定向
    使用"/control/req1/req2"方式則控制器將在執行請求"req1"后進行"req2"

    o 如何在查詢按鈕中加入預填參數
    查詢按鈕可以通過Javascript方式創建查詢操作,你可以使于預填字段方式在尾部增加參數,示例:
    "javascript:call_fieldlookup2(document.addProductStoreRole.partyId,'LookupPartyName?productStoreId=${productStoreId}');"

    o 關于XSL:FO的提示
    在描述或文本后追加?xml或使用<#escape x as x?xml>,以避免收到錯誤提示。

    o 在應用間切換時保持用戶登入狀態
    在一個應用跳轉至另一個應用時在URL中放入externalLoginKey參數,這樣系統就不會再次要求你進行登入操作:
    &externalLoginKey=${externalLoginKey}

    本文檔譯自ofbiz 4.0 cookbooks,本人翻譯,歡迎轉載,請注明出處.
    posted @ 2008-10-11 22:04 shanghai_spark 閱讀(1412) | 評論 (0)編輯 收藏

    Eclipse RCP用來開發Java客戶端應用非常爽,現在它本身也有BIRT報表項目支持Eclipse RCP中使用報表。不過四年前我開始開發時,卻沒這么幸運,于是怎么在RCP中生成報表成我一個頭痛的事情。

    琢磨了幾天,終于讓我想出一個在我的Eclipse RCP程序中使用JasperReport報表的方法:

    1、報表模版存放在服務端特定的一個資源目錄下。
    2、客戶端獲得客戶輸入的報表參數(查詢范圍、分組條件)及對應報表模版名稱(與服務端有命名約定)
    3、客戶端提交request對象至服務端后,服務端將報表參數、數據庫連接(我會將jdbc參數從服務端傳入)調用jasperreport報表引擎生成jprint文件。服務端返回jprint文件內容至客戶端同步方法。
    4、客戶端將返回的jprint內容存儲至臨時文件中,通過SWT_AWT橋接器調用JRViewer顯示jprint文件(即顯示報表)

    思路想通,我只用了三個小時就完成了客戶端與服務端通用報表程序的開發,唉,所以說做事情想清楚最重要,想不清楚時動手還不如多睡會呢!

    看看我們系統中的表現吧?

    Eclipse RCP中調用JasperReport
    BTW:最后一張圖中的漏斗圖不是JasperReport生成的(它沒做漏斗圖),是我自己做的一個小控件(不過蠻難看的,幸好大家都安慰我說比沒有強,真是讓人欣慰呀!?。。?br />
    本人原創文章,歡迎轉載,轉載請注明出處!
    posted @ 2008-10-10 18:05 shanghai_spark 閱讀(1801) | 評論 (0)編輯 收藏

    菜單組件通常用于生成屏幕主菜單欄,類似于Main | Data Source | Campaign | Tracking | Segment | Contact List |   Reports | Logout

    o 定義菜單

    <menu-item name="DataSource" title="${uiLabelMap.DataSource}"><link target="FindDataSource"/></menu-item>

     name屬性用于標識菜單項。
     title屬性用于菜單顯示名稱,也可是uiLabelMap
     link指定菜單項的跳轉URI

    o 使得指定的菜單高亮
     在屏幕組件的<screen>-<actions>段中加入

    <set field="headerItem" value="reports"/>

     value值為已定義過的要加亮的菜單項
     
    o 根據條件選擇是否顯示菜單項
      在<menu-item>節點中使用 <condition>項:

         <condition><not><if-empty field-name="userLogin"/></not></condition>
         
    <condition><if-empty field-name="userLogin"/></condition>


    o 使用CSS樣式表
      在<menu-item>節點中使用以下屬性
        align-style="" 定義對齊方式
        widget-style="" 定義菜單項在未選中時的樣式
        selected-style="" 定義菜單項在選中時的樣式

    o 右對齊菜單項
      使用align-style="col-right" 來啟用 "col-right" CSS樣式
      注意這個樣式將把第一個菜單項放到最右邊,第二個放在第一個的左邊,依次類推

    本文檔譯自ofbiz 4.0 cookbooks,本人翻譯,歡迎轉載,請注明出處.

    posted @ 2008-10-09 11:16 shanghai_spark 閱讀(1952) | 評論 (0)編輯 收藏

    1、如何調試OFBiz
    首先你需要學習和熟悉OFBiz的教程與工具指導文檔。指導文檔特別重要,因為很多子主題內容不是排列最前的內容卻可能導致問題的發生。你應該熟悉類似于Freemaker,beanshell,XML這些技術。你也應該有過處理那些與OFBiz無關問題的經驗,比如處理數據庫或服務器引起的問題。
    現在,你應該仔細查看日志文件了解你錯誤發生的原因。OFBiz在日志文件中提供大量的信息,這些信息將有助于你了解你遇到的問題。它比處理的藝術更重要。哪些東西看上去工作有些特別,比如比如有些關聯程序將導致或影響到的結果,你都可以在日志文件中找到。如果你確實無法在日志文件中發現任何有用的東西,這時增加你自己的日志信息直到你有足夠的信息來發現實際的問題所在。
    本指引將向你介紹OFBiz的日志文件工作情況,如何增加你自己的日志記錄,以及一些常見信息的含義。這些知識的理解建立在你理解JAVA及其它相關的技術基礎上,所有問題的焦點只在于OFBiz的概念與信息內容中。

    2. OFBiz日志文件
    OFBiz創建較多日志文件并將它們存儲于logs/目錄(在opentaps-0.9或更早版本中)或framework/logs/(在opentaps-0.9之后版本),文件有:
     - ofbiz.log.? - 記錄所有OFBiz生成日志信息。此文件將在滿時自動循環創建新文件,即ofbiz.log是當前日志文件,ofbiz.log.1是較早些時間的日志文件,ofbiz.log.2是比ofbiz.log.1更早時間的日志文件,以此類推。
     - console.log - 記錄所有OFBiz在控制臺界面運行顯示的內容。也有可能無效。
     - access_log.? - 類似于Apache httpd日志格式記錄所有服務請求。很漂亮但對調試沒有什么用處。

    大多數據時間,你可以通過ofbiz.log或console.log來查詢調試信息。因為它們有很多內容,所以你最好使用一個可以翻頁與進行查找的編輯器來打開這些日志文件。


    3、查找日志信息
    Java日志信息最容易查找。它們的日志信息中通常有類名與行號生成:

    111770[PaymentGatewayServices.java:776:INFO ] (Capture) Invoice [#10110] total: 38.54

    Minilang方法日志中的類名均為Log.java,如:

    112499[                Log.java:103:INFO ] Finished quickShipEntireOrder:\nshipmentShipGroupFacilityList=[[shipmentId=10120, facilityId=WebStoreWarehouse, shipGroupSeqId=00001]]\nsuccessMessageList=[Created shipment with ID [10120] for ship group ID [00001] for facility ID [WebStoreWarehouse]]

    如果你在beanshell中直接使用輸出,你輸出的內容將顯著的顯示于日志文件中:

    2006-07-19 13:46:26,373 [  ServiceDispatcher.java:450:DEBUG] [[Sync service finished- total:0.027,since last(Begin):0.027]] - 'ecommerce / getProductCategoryAndLimitedMembers'
    parentCategory = TABLE-LINENS-SOLIDS 
    2006-07-19 13:46:26,874 [      PriceServices.java:802:INFO ] PromoPrice and ProductPriceAction had null amount and no default price was available, using list price: 2.0 for product with id 15899

    如果你在beanshell中使用調試方法,你將在日志中得到如下信息:

    2006-07-19 13:46:26,373 [  ?:?] parentCategory = TABLE-LINENS-SOLIDS

    你可以為那些無法發現日志信息的minilang或beanshell代碼中加入自己的信息輸出。

    所有freemarker,screen-widget或form widget輸出的信息將直接顯示在你的瀏覽器屏幕上。除非這些控件崩潰否則不會顯示任何日志信息。

    4. 增加你自己的日志信息
    在Java中增加你自己的日志信息,請使用OFBiz Debug類(org.ofbiz.base.util.Debug)中的調試方法,如logInfo,logWarning, logError...
     示例:   Debug.logInfo("Now processing invoice " + invoiceId, module);

    在beanshell中增加日志信息,同樣使用Debug方法,但在內容中忽略如""這樣內容。

    在freemarker中增加日志信息,只需要顯示你打算跟蹤的變量,如:

       ${invoice}  <#-- 將顯示 invoice 的一般屬性值-->
       ${invoice.invoiceId}  
    <#-- 將顯示invoice.invoiceId屬性值 -->

     

    在minilang中增加日志信息,使用<log >指令并輸入你的值,比如在freemarker中:

       ${invoice}  <#-- will display the entire GenericValue invoice -->
       ${invoice.invoiceId}  
    <#-- will display the invoiceId field of invoice -->


    通常level節點屬性用于設置日志級別,如:"info", "warning", "error",對應于Debug中的同名方法。


    5. 何時需要重啟OFBiz

    你在做如下更改時需要重新啟動OFBiz服務器:
    - Java文件(記得要重新編譯)
    - 配置/.properties文件
    - entitymodel或entitygroup XML定義文件
    - 服務或secas XML文件
    - JPublish XML文件

    你在進行以下修改時無需重新啟動OFBiz服務器:
    - freemarker FTL模版
    - beanshell BSH模版
    - Screens XML文件
    - Forms XML文件
    - 控制器XML文件(注意:在opentaps-0.8和OFBiz 3.x及更早版本中,你在更改控制器時需要重啟)
    但有可能你需要在瀏覽器中清除緩存。
     

    6. 常見錯誤及其含義:

    Cannot locate service by name (captureBillingAccountPayment)

       * 此服務 (captureBillingAccountPayment) 在所有 services.xml 定義中都找不到.
    Cannot find service location (org.ofbiz.order.order.OrderServices)
       * 說明在services XML定義點上指向的資源不存在.  如果這是一個minilang或beanshell服務,即服務引擎無法找到此文件。如果這是一個Java服務,則說明在classpath中無法查找到這個類。

    Service method does not exist (com.opensourcestrategies.financials.invoice.InvoiceServices.setInvoiceDueDate(org.ofbiz.service.DispatchContext, java.util.Map))

       * 含義是在某個services.xml指定的這個服務不存在對應的Java方法。通常發生于你在修改了Java文件后忘記再次編譯它來使新增的方法生效。

    java.lang.IllegalArgumentException: Could not get next sequenced ID for sequence name: Party (Could not get next sequenced ID for sequence name: Party).   

       * 系統無法取得實體的下一個自動ID,通常發生于數據庫斷開情況。

    ERROR: insert or update on table "inventory_item" violates foreign key constraint "inv_item_facility"


       * 在"inventory_item"表的插入/修改操作時違犯"inv_item_facility"外鍵約束。

    Error calling event: org.ofbiz.webapp.event.EventHandlerException: Service invocation error (Commit transaction failed)

       * 這是一個非常令人討厭的錯誤信息。通常它意味著你訪問的服務所觸發的ECA鏈服務中有一個服務失敗,于是導致全部的操作失敗。服務引擎無法為你進一步跟蹤,所以你需要進入log文件中進一步查找錯誤原因。訪問你的logs/ofbiz.log 或logs/console.log文件去了解觸發錯誤的根本原因。

    Unable to bind UserTransaction/TransactionManager to JNDI

       * 這是在opentaps 0.8/0.9及OFBiz的pre-Geronimo版本在Linux系統下可能會發生的一個問題.  解決方法可以在以下網址中找到:  
         http://lists.ofbiz.org/pipermail/users/2004-June/004094.html

    Message: The entity name must immediately follow the '&' in the entity reference.
    org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.

       * 這是一個 XSL:FO 錯誤并意味著你在文本中使了字符'&',比如說你在描述或地址中使了這個字符。 XSL:FO 使用xml屬性格式,所以你需要確認你在文本字段后放置?xml。

    本文檔譯自ofbiz 4.0 cookbooks,本人翻譯,歡迎轉載,請注明出處.
    posted @ 2008-10-08 22:44 shanghai_spark 閱讀(2219) | 評論 (0)編輯 收藏

     

    準備工作:

    1、 安裝JDK 1.5或以上版本,設置好JAVA_HOME

    2、 安裝MySQL 5.0或以上版本

    3、 http://www.eclipse.org/downloads/下載最新Eclipse版本,我下的是3.4.1版的Eclipse IDE for Java EE Developers,并解壓至工作目錄(我解壓至"C:\\",即工作目錄為"C:\\eclipse"

    4、 啟動Eclipse,通過點擊Help菜單中的Software Updates...啟動Software Updates向導界面,新建subclipse遠程站點,遠程下載地址為http://subclipse.tigris.org/update_1.0.x,勾選下載安裝Subclipse Plugin后點擊Intasll按鈕安裝

        Subclipse Plugin安裝

    檢出代碼:

    1、 在新建向導對話框中選擇從SVN中檢出項目
    SVN檢出項目

    2、 SVN檢出位置URL框中輸入:http://svn.apache.org/repos/asf/ofbiz后點擊Next。
    檢查ofbiz代碼

    3、 選擇文件夾"branches"release4.0后點擊Finish

        選擇SVN檢出文件夾


    數據庫配置 [可以參考我寫的
    opentaps 1.0.2安裝(mysql)一文]:

    1、 通過mysql命令行來創建obfiz運行所需數據庫,為了方便識別,我們這里就用ofbiz來做數據庫吧。

    mysql> create database ofbiz;

           mysql> exit

    2、 編輯ofbiz目錄中的framework/entity/config/entityengine.xml文件,使其能正確連接到你的mysql數據庫中(注意其中的ofbiz-userofbiz-password,把它們改成你實際的數據庫連接用戶名與密碼)。

    將其中的<delegator name="default"...> 段中的"datasource-name"從原來的"local" 改為 "localmysql"

    編輯<datasource name="localmysql"...> 段內容,修改"jdbc-uri""jdbc:mysql://127.0.0.1/ofbiz?autoReconnect=true";修改"jdbc-username"/ "jdbc-password"為你的mysql連接用戶名/密碼,修改character-set="gbk",collate="gbk_bin",示例如下:

     

     1 <delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false">
     2
     3        <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
     4
     5    </delegator>
     6
     7    <delegator name="default-no-eca" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" entity-eca-enabled="false" distributed-cache-clear-enabled="false">
     8
     9        <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
    10
    11    </delegator>
    12
    13    <delegator name="test" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main">
    14
    15        <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
    16
    17    </delegator>
    18
    19    <delegator name="other" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main">
    20
    21        <group-map group-name="org.ofbiz" datasource-name="localmysql"/>        
    22
    23   </delegator>
    24
    25
    26
    27


     

     1<datasource name="localmysql"
     2
     3            helper-class="org.ofbiz.entity.datasource.GenericHelperDAO"
     4
     5            field-type-name="mysql"
     6
     7            check-on-start="true"
     8
     9            add-missing-on-start="true"
    10
    11            check-pks-on-start="false"
    12
    13            use-foreign-keys="true"
    14
    15            join-style="ansi-no-parenthesis"
    16
    17            alias-view-columns="false"
    18
    19            drop-fk-use-foreign-key-keyword="true"
    20
    21            table-type="InnoDB"
    22
    23            character-set="gbk"
    24
    25            collate="gbk_bin">
    26
    27        <read-data reader-name="seed"/>
    28
    29        <read-data reader-name="demo"/>
    30
    31        <read-data reader-name="ext"/>
    32
    33        <inline-jdbc
    34
    35                jdbc-driver="com.mysql.jdbc.Driver"
    36
    37                jdbc-uri="jdbc:mysql://127.0.0.1/ofbiz?autoReconnect=true"
    38
    39                jdbc-username="ofbiz-user"
    40
    41                jdbc-password="ofbiz-password"
    42
    43                isolation-level="ReadCommitted"
    44
    45                pool-minsize="2"
    46
    47                pool-maxsize="20"/>
    48
    49



       3、 系統初始化

    在命令行窗口下,進入ofbiz根目錄后運行

    ant run-install

    系統開始安裝,等大約15-30分鐘后,系統提示安裝完成。


    啟動
    ofbiz:

    有兩種方式可以啟動ofbiz

    1、 雙擊根目錄下的startofbiz.bat啟動

    2、 eclipse中用鼠標右鍵點擊build.xml,在右鍵菜單中選擇Run As->Ant Build…在彈出的構建對話框中targets選項卡中勾選run后點擊run

        OFBiz ANT運行配置界面

    訪問
    ofbiz:

    打開瀏覽器訪問:https://localhost:8443/webtools/control/main點擊屏幕右方的Login鏈接后進行登錄,登錄后就可以訪問你希望的功能特性,系統默認帳號為admin/ofbiz,擁有所有權限。
        OFBiz主界面

    本人原創文章,歡迎轉載,轉載請注明出處!

    posted @ 2008-10-07 12:55 shanghai_spark 閱讀(2790) | 評論 (2)編輯 收藏

     

    Linux 里面有一個 e2fsck 的指令,可以檢查及修復檔案系統。它的參數包括有:

    -a: 檢查 partition,如發現問題會自動修復。
    -b:
    設定 superblock 位置。
    -B size:
    指定 size 作為區塊大小。
    -c:
    檢查 partition 是否有壞軌。
    -C file:
    將檢查結果儲存到 file。
    -d:
    輸出 e2fsck debug 結果。
    -f: e2fsck
    預設只會對錯誤的檔案系統檢查,加上 -f 是強制檢查。
    -F:
    在檢查前將硬盤的 buffer cache 清空,避免發生錯誤。
    -l list:
    記錄了壞軌區塊加入 list 中。
    -d :
    打印 e2fsck debug 結果。
    -f :
    強制檢查。
    -n:
    (read-only) 開啟檔案系統
    -p:
    關閉互動模式,如有問題自動修復,等同 -a。
    -v:
    顯示詳細報告。
    -y:
    啟用使用者互動模式。

    使用例子
    檢查 /dev/sda1 是否有問題,如發現問題便自動修復:

    e2fsck -a -y /dev/sda1

    執行 e2fsck fsck 前請先 umount partition,否則有機會令檔案系統毀損。如果需要對根目錄 (/) 進行檢查及修復,便需要進入 singal user mode 執行。

    posted @ 2008-10-06 19:33 shanghai_spark 閱讀(4462) | 評論 (0)編輯 收藏

    因為我的程序使用了OR框架如hibernate之類的東東,所以我們的系統是支持各種關系型數據庫的!很多哥們在介紹自己的產品或是項目時都是這樣說的,真的是這樣嗎?

    也許最好你自己嘗試一下不同數據庫下的測試才能夸出這樣的??冢?/p>

    首先,你是否一直通過OR框架而沒有試圖繞開有時顯得不那么可愛的hibernate呢?在你程序中的native sql是不是一直在遵循SQL 99的標準?你的主鍵生成方法是使用native方式還是在用自增ID呢?

    其次,你能保證你未使用目標數據庫特有的功能特性嗎?如視圖在mysql 4及之前版本是不被支持的,oracle是不支持超過30個字符的數據庫對象名稱的...

    再次,那些為了速度或是特定要求情況下而集成進來的組件,它們是不是直接使用了數據庫特性?JasperReport?shark?

    在經歷過幾次數據庫切換后,我認識到幻想在第一個發布版本不經任何修改就支持所有數據庫是不現實的,也許應該列出目標環境下可能會使用到的數據庫集合,如:mysql/sqlserver/oracle。列出它們所共有的function,是否支持視圖,是否支持自增字段,數據庫對象名稱是否有長度限制?大小寫是否敏感?是否支持存儲過程?...

    百練成鋼,一招鮮吃遍天下是不可能的!兄弟,你不這樣認為嗎?

    本人原創文章,歡迎轉載,轉載請注明出處!

    posted @ 2008-10-05 21:22 shanghai_spark 閱讀(2140) | 評論 (7)編輯 收藏

    使用eclipse rcp開發自己的應用程序時,經常需要使用到格式文本的編輯與展示。但在SWT/JFACE組件中并未提供合適的組件來完成此任務,Text與我們的要求相差甚遠。我的OA系統中公文的正文部分需要一個合適的rich editor來完成此任務。

    于是蠻世界的尋找適合的java rich editor組件來完成這個需求,最后尋得兩個比較容易在eclipse rcp中采用的技術方案,這兩個方案我都在我的系統中應用過

    1、使用ekit組件,ekit是不多的開源java rich editor組件,而且從功能上來說可以較好滿足文本格式的要求。因為它是awt組件,所以在eclipse rcp中使用它時要用SWT_AWT橋接器來完成SWT Compsite到awt frame的轉換。我用的方法是把ekit用SWT_AWT包裝了一下,做成了一個SWT組件易于我的程序調用。這種方式的缺點就是ekit本身不支持ole的拷貝,來源于其它ole程序粘貼的內容復制要自己寫對應的粘貼處理程序,挺煩的

    2、使用fckeditor或tinyMCE之類的基于javascript的web rich editor組件,然后使用SWT中的HtmlComposer組件調用。這種方式的好處是支持各種程序的ole粘貼,省心省力。

    順便show一下我們系統的rich editor,看看效果。如果其它同學有更好的方法也歡迎一起交流下!



    本人原創文章,歡迎轉載,轉載請注明文章出處!
    posted @ 2008-10-04 22:56 shanghai_spark 閱讀(2490) | 評論 (0)編輯 收藏

    其實也就是OFBiz 4.0的練習例子,我是照著OFBiz的文章做了N次嘗試,一是OFBiz的版本變動太頻繁、二是文章中省略了大量的內容(均假設你明白,我倒,我要明白我做這個例子干么?)、三有的地方確實就是錯的(常見于路徑問題)

    自己吃的苦就不希望后來者再嘗一遍嘍,整理下放在這里,待有緣人來取,哈...

    本人制作,歡迎轉載,轉載請注明出處!

    下載地址
    posted @ 2008-10-03 12:00 shanghai_spark 閱讀(1755) | 評論 (5)編輯 收藏

    opentaps是一個基于ofbiz基礎開發的完全開源的企業級應用系統。它包括了完整的ERP和CRM解決方案和內建的企業智能工具。

    opentaps現在在國內應用面不象sugarcrm/vtigercrm這些企業應用那樣普遍,我想很大程度是由于JavaEE應用的邏輯結構嚴謹與復雜度決定其不象PHP應用那樣容易拆分按需閱讀切入。了解一個JavaEE的應用需要先了解其構造的框圖、分層結構、每層實現的技術方式以及采用的技術。對于OFBiz這樣一個野心極大要囊括幾乎所有企業應用層面的項目,想要掌握它就更難上加難了,也許我們可以選擇簡單開始,先從文檔的中文化與由簡入繁的練習中開始了解這個龐大的開源項目。


    閑話少說,我們先從opentaps的安裝開始,讓我們能夠在自己的機器上跑起opentaps開始,也許你一直在尋找的企業應用已經全部在此嘍!

    準備工作:
    1、安裝JDK 1.5或以上版本,并在系統中設置好JAVA_HOME及相關PATH
    2、安裝MYSQL 5.0或以上版本
    3、安裝ANT1.7或以上版本,并在系統中設置好ANT_HOME及相關PATH
    4、從以下地址下載opentaps 1.0.2二進制版本
    http://nchc.dl.sourceforge.net/sourceforge/opentaps/opentaps-1.0.2-all-platforms.zip

    開始安裝:
    1、通過mysql命令行來創建opentaps所需數據庫,為了方便識別,我們這里就用opentaps來做數據庫吧。
    mysql> create database opentaps;

    2、將下載的opentaps-1.0.2-all-platforms.zip解壓至你的工作目錄。

    3、編輯opentaps目錄中的framework/entity/config/entityengine.xml文件,使其能正確連接到你的mysql數據庫中。
    3.1 將其中的<delegator name="default"...> 段中的"datasource-name"從原來的"local" 改為 "localmysql"
    3.2 編輯<datasource name="localmysql"...> 段內容,修改"jdbc-uri"為"jdbc:mysql://127.0.0.1/opentaps?autoReconnect=true";修改"jdbc-username"/ "jdbc-password"為你的mysql連接用戶名/密碼,修改character-
    set="gbk",collate="gbk_bin",示例如下:

     

        <delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false">
            
    <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
        
    </delegator>
        
    <delegator name="default-no-eca" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" entity-eca-enabled="false" distributed-cache-clear-enabled="false">
            
    <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
        
    </delegator>

        
    <delegator name="test" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main">
            
    <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
        
    </delegator>
        
    <delegator name="other" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main">
            
    <group-map group-name="org.ofbiz" datasource-name="localmysql"/>        
        
    </delegator>




        
    <datasource name="localmysql"
                helper-class
    ="org.ofbiz.entity.datasource.GenericHelperDAO"
                field-type-name
    ="mysql"
                check-on-start
    ="true"
                add-missing-on-start
    ="true"
                check-pks-on-start
    ="false"
                use-foreign-keys
    ="true"
                join-style
    ="ansi-no-parenthesis"
                alias-view-columns
    ="false"
                drop-fk-use-foreign-key-keyword
    ="true"
                table-type
    ="InnoDB"
                character-set
    ="gbk"
                collate
    ="gbk_bin">
            
    <read-data reader-name="seed"/>
            
    <read-data reader-name="demo"/>
            
    <read-data reader-name="ext"/>
            
    <inline-jdbc
                    
    jdbc-driver="com.mysql.jdbc.Driver"
                    jdbc-uri
    ="jdbc:mysql://127.0.0.1/opentaps?autoReconnect=true"
                    jdbc-username
    ="opentaps"
                    jdbc-password
    ="opentaps-password"
                    isolation-level
    ="ReadCommitted"
                    pool-minsize
    ="2"
                    pool-maxsize
    ="20"/>



    4、進行系統初始化
    在命令行窗口下,進入opentaps根目錄后運行
    ant run-install
    系統開始安裝,等大約15-30分鐘后,系統提示安裝完成。


    啟動opentaps
    雙擊運行opentaps目錄下的startofbiz.bat命令即可,請注意控制臺輸入默認輸出至log下的ofbiz.log中,所以無法從控制臺中判斷系統是否啟動完成,一般需等待兩到五分鐘。也可以將輸出改回至console。

    訪問opentaps
    打開瀏覽器訪問:http://localhost:8080/
    點擊你希望訪問的功能特性,系統默認帳號為
    admin/ofbiz,擁有所有權限。

     

     本人原創文章,歡迎轉載,轉載請注明出處!

    posted @ 2008-10-02 15:26 shanghai_spark 閱讀(3290) | 評論 (12)編輯 收藏

    僅列出標題
    共6頁: 上一頁 1 2 3 4 5 6 下一頁 
    主站蜘蛛池模板: 亚洲老熟女@TubeumTV| 亚洲综合伊人久久大杳蕉| 久久精品国产亚洲AV电影| 免费毛片在线看不用播放器| 亚洲国产成人五月综合网 | 亚洲视频一区在线观看| 免费无码成人AV在线播放不卡| 亚洲AV无码一区二区三区系列| 九九美女网站免费| 久久精品国产亚洲AV香蕉| 久久A级毛片免费观看| 亚洲成人高清在线观看| 久久WWW免费人成人片| 亚洲精品久久无码av片俺去也 | 精品一区二区三区高清免费观看| 亚洲国产精品无码久久青草 | 亚洲色精品aⅴ一区区三区| 中文字幕乱理片免费完整的| 久久亚洲色WWW成人欧美| 国产女高清在线看免费观看| 免费人成网站永久| 成年在线观看网站免费| 亚洲国产精品无码久久| 亚洲国产黄在线观看| 9i9精品国产免费久久| 亚洲综合一区二区精品导航| 久久受www免费人成_看片中文| 亚洲狠狠色丁香婷婷综合| 相泽亚洲一区中文字幕| 91久久成人免费| 亚洲丶国产丶欧美一区二区三区 | 国产自国产自愉自愉免费24区| 亚洲成无码人在线观看| 四虎影在线永久免费四虎地址8848aa| 美女网站在线观看视频免费的| 67pao强力打造67194在线午夜亚洲 | 亚洲欧洲精品成人久久奇米网| 国产在线精品观看免费观看| 亚洲精品在线视频观看| 拔擦拔擦8x华人免费久久| 精品国产免费一区二区三区香蕉|