網頁

2018年4月28日 星期六

Kennel 升級紀錄

Windows 10 回復原廠設定不能使用
出現 "重設您的電腦時發生問題 沒有做任何變更"
官方網站下載 Windows 10
此時會有兩種選項,一是升級本身的電腦,二是建立安裝媒體(USB 隨身碟 8G)
兩者皆有測試過
似乎授權已經寫入 BIOS, 所以即使換硬碟重灌也可以直接啟用

部分的硬碟分割區無法刪除
需用 命令題是字元 執行 diskpart
DISKPART> list disk
DISKPART> select disk 1
DISKPART> list disk
DISKPART> list partition
DISKPART> clean

資料庫使用
mariadb-10.2.14-winx64.msi
備份使用
dump.bat
@echo off
set dt=%date:~0,10%
rem date format is "YYYY-MM-DD"
set dy=%dt:~0,4%
set dm=%dt:~5,2%
set dd=%dt:~8,2%
rem echo %dt%
set TODAY=%dy%%dm%%dd%
dump.bat
call today.bat
"c:\Program Files\MariaDB 10.2\bin\mysqldump.exe" -u root -pmark1234 -B kennel util>mariadb_%today%.sql
"c:\Program Files\7-Zip\7z.exe" a -tzip mariadb_%today%.sql.zip mariadb_%today%.sql
del mariadb_%today%.sql


開發環境使用
jdk-8u172-windows-i586.exe (給舊的 Eclipse 3 使用 32位元環境)
jdk-8u172-windows-x64.exe
eclipse-jee-oxygen-3a-win32-x86_64.zip
External JARs 換位置了,之前可以隨便放,現在必須放在 WEB-INF\lib
否則程式執行時會發生 ClassNotFoundException
使用 Tomcat v9.0 搭配 java 10 時,發生
-Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 9.0\endorsed is not supported.
錯誤,即使將 Run/Debug Configurations/Arguments/VM arguments 內的
-Djava.endorsed.dirs="C:\Program Files\Apache Software Foundation\Tomcat 9.0\endorsed"
刪除,下次執行時,依舊又出現,換成舊版的 java 即可解決

網站使用
apache-tomcat-9.0.7.exe (不能搭配 java 10)
修改 config 下的 server.xml 和 context.xml 請注意權限
若不修改權限,作業系統會搞鬼,讓你以為修改成功,浪費時間抓蟲
Tomcat v6.0 時, server.xml 為
<Context docBase="Main" path="/Kennel" reloadable="true" source="org.eclipse.jst.jee.server:Main">
<Resource name="jdbc/MainDS" auth="Container" type="javax.sql.DataSource" maxActive="4" maxIdle="2" maxWait="4" username="xxxx" password="xxxx" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/?useUnicode=true&amp;amp;characterEncoding=big5"></Resource></Context>

Tomcat v9.0 時, server.xml 不用動, 反而是修改 context.xml
    <Resource 
    name="jdbc/MainDS" 
    auth="Container" 
    type="javax.sql.DataSource" 
    maxTotal="4" 
    maxIdle="2" 
    maxWaitMillis="-1" 
    username="xxxx" 
    password="xxxx" 
    driverClassName="org.mariadb.jdbc.Driver" 
    url="jdbc:mariadb://localhost:3306/?useUnicode=true&amp;characterEncoding=utf8">
    </Resource>
注意其中 maxActive 改成 maxTotal, maxWait 變成 maxWaitMillis
另外 DBCP 也有變化,由
<Resource
    name="jdbc/MainDb"
    scope="Shareable"
    type="javax.sql.DataSource"
    factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
    maxTotal="4" maxIdle="2" maxWaitMillis="-1"
    url="jdbc:mariadb://localhost:3306"
    driverClassName="org.mariadb.jdbc.Driver"
    username="xxxx"
    password="xxxx"
    />
變成
<Resource
    name="jdbc/MainDb"
    scope="Shareable"
    type="javax.sql.DataSource"
    factory="org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory"
    maxTotal="4" maxIdle="2" maxWaitMillis="-1"
    url="jdbc:mariadb://localhost:3306"
    driverClassName="org.mariadb.jdbc.Driver"
    username="xxxx"
    password="xxxx"
    />