2003-02-06 (Thu) [長年日記]
▲ BrainsMemo インストール
BrainsMemo を Solaris9 + Tomcat4.1.18 + jdk141 で稼動することに成功したのでメモ。- jakarta-tomcat-4.1.18-LE-jdk14.tar.gz をインストール
- 付属の readme.sjis に従って BrainsMemo をインストール
- readme.sjis で説明されている文字エンコーディングの指定方法は Tomcat3 用なので「文字コードの指定 - Tomcat4.0.3 の場合」あたりを参考に指定。今回は Windows-31J を選択。
- 同梱の XML 関係ライブラリ memo/WEB-INF/lib/xerces-1.2.3.jar と memo/WEB-INF/xalan-2.0.0.jar を削除。このへんの機能は jdk141 に用意されているもの使うようにする。
- ページ情報の保存、読み出しするコードが JVM のデフォルトエンコーディングに従うようになっているので、Windows-31J を使うように修正(後述)
- FOP 関係のライブラリを最新に更新
- avalon-framework-4.0.jar → avalon-framework-4.1.3.jar
- fop-0.20.3.jar → fop-0.20.4.jar
- logkit-1.0.1 → logkit-1.1.jar
- FOP を PDF へレンダリングするコードが JAXP になっていないので修正(後述)
- 以上で Tomcat にアクセスすると使えるようになるはず。ダメなときは catalina.log などとにらめっこ。
*** IOUtil.java.orig Fri Aug 30 22:07:14 2002
--- IOUtil.java Thu Feb 6 10:50:20 2003
***************
*** 148,155 ****
PrintWriter pw = null;
try {
! pw = new PrintWriter(
! new FileOutputStream(file.getAbsolutePath(), append));
pw.print(content);
} finally {
--- 148,154 ----
PrintWriter pw = null;
try {
! pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, append), "Windows-31J")));
pw.print(content);
} finally {
***************
*** 197,203 ****
String result = null;
try {
! reader = new BufferedReader(new InputStreamReader(in));
writer = new StringWriter();
int c;
--- 196,202 ----
String result = null;
try {
! reader = new BufferedReader(new InputStreamReader(in, "Windows-31J"));
writer = new StringWriter();
int c;
▲ FOP を PDF へレンダリングするコードは、FOP のヘルパメソッドを使って brainsMemo.util.FopUtil 以下のように修正。
$ diff -c FopUtil.java.orig FopUtil.java
*** FopUtil.java.orig Fri Aug 30 22:07:14 2002
--- FopUtil.java Wed Feb 5 15:42:47 2003
***************
*** 61,67 ****
XMLReader parser = null;
try {
parser = XMLReaderFactory.createXMLReader(
! "org.apache.xerces.parsers.SAXParser");
} catch (SAXException e) {
throw new FOPException(
"Could not create SAX parser.", e);
--- 61,67 ----
XMLReader parser = null;
try {
parser = XMLReaderFactory.createXMLReader(
! Driver.getParserClassName());
} catch (SAXException e) {
throw new FOPException(
"Could not create SAX parser.", e);






まったくどうでもいいことですが avalon-framwork-4.1.3.jar は、 avalon-framework-4.1.3.jar が正しいようです。
修正しました。ありがとうございます(^^)
Hello!<br><a href="http://oieypxa.com/oryrvsr/1.html">cialis</a> ,