Author Archives: vincent

Java 資料處理雜記

UFT-8 編碼的文字檔,存放含有中文字的 CSV 資料,這個檔案用 excel 開啟後中文卻變成亂碼

writer.write(“\ufeff”);

利用以上 java code 在檔案前面寫入 UTF BOM header 可解決這個問題

如何 parse ‘2016-12-27T00:30:00+08:00’ 這個帶有時區字串成為 Date 物件

SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ssX”);

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Ubuntu、Windows 多重開機時間問題

Ubuntu 會把系統時間設定為世界標準時間 (UTC),但是 Windows 用的是本地時間,所以從 Ubuntu 重開機進入 Windows 後會發現 Windows 系統時間不對,Ubuntu 16.04 可以利用以下指令解決這個問題

timedatectl set-local-rtc 1

本文參考這個 網址,另外提供了修改舊版 Ubuntu 或 Windows 的方法

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Glassfish 4 安裝 SSL certificate

Glassfish4 的憑證存放在 <glassfish 安裝目錄>/glassfish/domains/domain1/config 目錄內,先用以下指令匯入 CA 憑證

keytool -import -trustcacerts -alias myca -file ca.cer -keystore cacerts.jks

再利用以下指令匯入 server 憑證

keytool -importkeystore -srckeystore myserver.p12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS

匯入之後用 keytool -list -keystore keystore.jks 指令確認匯入憑證在 keystore 內的 alias

登入 admin console 後在選單 Configurations > server-config > HTTP Service > Http Listeners > admin-listener 設定的 SSL 頁籤把 Certificate NickName 改為剛才查到的 alias (預設為 ‘s1as’) 儲存後重新啟動 glassfish server 即可

備註:

  1. keystore 預設密碼為 changeit
  2. 匯出的 .p12 檔密碼似乎必須與 keystore 密碼相符
  3. glassfish 的 http-listener-2 是有 SSL 的 8181 port,設定憑證方式跟 admin console 相同
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Eclipse 4.5、Maven、SVN、Web project 問題

起因

從 SVN checkout 一個 Maven project,project 包含 EAR、JPA、Web 3 個子專案,eclipse 顯示以下錯誤

JavaServer Faces 2.0 requires Dynamic Web Module 2.5 or newer

這時候去 eclipse 的 project facets 把 Dynamic Web Module 選項改成 2.5 以上又不給改

解法

不能把 Dynamic Web Module 改成 2.3 以上是因為 Maven 建出來的 web.xml 長這樣

<!DOCTYPE web-app PUBLIC
“-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN”
“http://java.sun.com/dtd/web-app_2_3.dtd” >

<web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>

把 web.xml 改成這樣

<web-app xmlns=”http://java.sun.com/xml/ns/javaee”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd”
version=”3.0″>
<display-name>Archetype Created Web Application</display-name>
</web-app>

跑一次 Maven update 後去 eclipse 的 project facets 把 Dynamic Web Module 選項改成 3.0 還是不給改,這時候先把 Dynamic Web Module 的 checkbox 清掉按 Apply,然後勾選 Dynamic Web Module 後再按一次 Apply,再跑一次 Maven update 錯誤就消失了

註: JSF project 在 Eclipse 4.6.3 有一樣問題,解決方法是在 Eclipse 選單 Window > Preferences > Maven > Java EE Integration 把 JSF Configurator 選項清掉,然後再重新 checkout project

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...