Maven跟一般的web project比較起來,最大的不同就在於不需要手動下載所需要的jar檔,
而只需要在pom.xml定義後,Maven便會自動幫我們下載所需的檔案。
Maven的jar檔案配置可在以下網站尋找;
http://mvnrepository.com/
http://search.maven.org/
Maven跟一般的web project比較起來,最大的不同就在於不需要手動下載所需要的jar檔,
而只需要在pom.xml定義後,Maven便會自動幫我們下載所需的檔案。
Maven的jar檔案配置可在以下網站尋找;
http://mvnrepository.com/
http://search.maven.org/
花了許多時間,初步完成了mybatis + spring的整合,準備工作如下;
使用版本: Spring 4.0.2 RELEASE、Mybatis 3.2.6、Sql Server jdbc 4.0、mybatis-spring 1.2.2
一、新創一個maven webapp project,這裡取名為MybatisDemo,package設定為com.test.mybatis,記得Archetype要設定webapp如下;
於Windows中佈署Apache Server 及 JBoss並不困難,但要將JBoss掛載於Apache之下運作便有些複雜,以下分別記錄;
準備檔案:
Apache 2.4 httpd-2.4.12-win64-VC11.zip
https://www.apachelounge.com/download/
在CentOS 6上使用yum安裝的ImageMagick與ghostscript8.70版,直接呼叫程式轉PDF檔時會發生錯誤,因此手動安裝新版程式並設定liferay中的外部服務;
1. 移除舊版ImageMagick與ghostscript:
yum remove imagemagick -y
yum remove ghostscript -y
2. 手動抓取新版並解壓,在這裡使用ghostscript 9.07版:
cd /tmp
wget http://downloads.ghostscript.com/public/ghostscript-9.07.tar.gz [^]
wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz [^]
tar xf ghostscript-9.07.tar.gz
tar xf ImageMagick.tar.gz
3.手動安裝,安裝過程需要一些時間:
先安裝ghostscript
cd /tmp/ghostscript-9.07
./configure
make
make install
再安裝ImageMagick
cd /tmp/ImageMagick
./configure
make
sudo make install
sudo ldconfig /usr/local/lib
刪除暫存資料夾
rm -Rf /tmp/ghostscript-9.07
rm -Rf /tmp/ImageMagick
4. 安裝完成之後直接用gs指令測試轉檔功能:
查詢gs路徑: which gs
用顯示的路徑呼叫gs,並且進行轉檔測試:
如/usr/local/bin/gs -sDEVICE=pngalpha -sOutputFile=/usr/figure-%03d.png -r144 /usr/aaa.pdf
這裡%03d會依照PDF的張數去產生對應的檔名,轉換來源是/usr/aaa.pdf
若成功則會出現gs視窗並出現轉檔完成的圖片(視窗化模式限定)
5. 設定伺服器管理中的external-service外部服務:
使用which gs尋找gs程式路徑,在這裡是/usr/local/bin/gs,但在external-service中只需要設定到/usr/local/bin就好。
也可於portal-ext.properties設定imagemagick.enabled等屬性:
imagemagick.enabled=true
imagemagick.global.search.path[unix]=/usr/local/bin
啟用後,上傳帶有中文碼的PDF檔案測試看看。
P.S.(Liferay在未啟用ImageMagick與ghostscript的情況下,使用的PDFBox預覽方式在呈現一些中文PDF檔案時會以亂碼顯示)
Liferay Portal 6.2.1 GA2
Tomcat 7.0.40
CentOS 6
參考資料:http://www.liferay.com/zh/community/wiki/-/wiki/Main/Preview+Generation [^]
http://www.liferay.com/zh/community/forums/-/message_boards/message/14402973 [^]
接續上一篇,這次來實際應用web service API;
首先定義我們的service builder,並且在<entity>的標籤內將remote-service的屬性設定為true,
這樣service builder便會幫我們產生xxxxServiceImpl的系列class,作為web service使用。
接著到xxxxServiceImpl增加我們所需要使用的方法,以前陣子製作的汽車資料範例程式來說;
在Liferay中想要下自定義的SQL指令有兩種方式,一種是使用FinderImpl,另一種則是定義custom SQL XML檔。
若只需要存取一張table,則使用FinderImpl較為簡便;
首先在service builder為我們產生的xxx.service.persistence中創建一個class,命名為xxxFinderImpl,
Liferay提供了好用的<liferay-ui:input-move-boxes>移動選單元件如下;
主要功能就是可以塞值至左方或右方選單,並且將其中一邊選單的值保存下來。
基本設定如下;
List<KeyValuePair> rightlist = new ArrayList<KeyValuePair>();
最近的專案需求,需要在CentOS 6 的環境下安裝Liferay Portal 6.2.1 GA2,搭配Jre 1.6.0_45版本、
資料庫則使用PostgreSQL。
首先架設環境,在這裡是先設定一個VM環境,安裝CentOS 6.0。
現在linux系列的作業系統都已有了視覺化介面,非常方便;