2015年9月10日 星期四

透過 Guice 入門 Dependency Injection(二):動態選擇實作類別

作為某些方面可以替代重量級 Spring 的輕量級套件
Guice 可以透過程式碼的設定,動態決定注入介面時,要選擇的實作類別。

透過 Guice 入門 Dependency Injection(一)

Guice 是一個可以用來取代原本 Java 程式設計師習慣使用的 Factory 的套件
某種程度上也可以算是一個輕量級的 Spring,能夠動態地做實作類別的注入。
關於 Guice 的開發動機,可以參考 GitHub 上說明動機的頁面 [1]。
另外如果想知道關於 Guice 開發團隊自己怎麼看 Guice 和 Spring,可以參考 [2]。

2015年9月9日 星期三

[WARNING] Using platform encoding (MS950 actually) to copy filtered resources, i.e. build is platform dependent!

最近突然注意到,Maven 在執行時都會跑出這一段警告訊息
[WARNING] Using platform encoding (MS950 actually) to copy filtered resources, i.e. build is platform dependent!
雖然不影響 Maven 的運作,但就覺得編碼不用 UTF-8 就有點不太對~
很快速地 Google 後,看到別人發表的解法,只要在專案的 pom.xml 裡加入以下的設定
就可以指定 Maven 使用 UTF-8 編碼來執行了。
<project>
    ....
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
</project>

參考資料:
  1. Maven compile 出現 [WARNING] Using platform encoding 警告

使用 Maven 匯出第三方函式庫

在已經寫好 pom.xml 的情況下,如果需要匯出 pom.xml 上指定的所有第三方函式庫的話
可以使用 Maven 的 copy-dependencies 的功能:
mvn dependency:copy-dependencies
那些第三方函式庫就會被匯出到 ./target/dependency 的目錄裡。

參考資料:
  1. export dependency libs

2015年9月3日 星期四

在 Ubuntu 的 VMware 虛擬機器上安裝 VM Tool

一般安裝 VM Tool 的方法,是參考 [1] 的方式,安裝 VMware Tool
不過在部分作業系統上,因為 VMware 已經支援開源版的 VMware Tool:Open VM Tool 的關係 [2]
可以直接利用指令安裝由虛擬機器自行管理的 VM Tool。

apt-get install open-vm-tools

關於 Open VM Tool 的說明,以下節錄 [2] 的描述:
The primary purpose for open-vm-tools is to enable operating system vendors and/or communities and virtual appliance vendors to bundle VMware Tools into their product releases. open-vm-tools is the open source implementation of VMware Tools and consists of a suite of virtualization utilities that improves the functionality, administration, and management of virtual machines within a VMware environment.

參考資料:
  1. (VMesxi 安裝篇-Day10) Install VMware tools for Linux 
  2. VMware support for open-vm-tools (2073803)