甜茶日記
あ、はい、大阪から帰ってきました。
= Tomcatのソースコードを読んだり、 JavaでSSHを使う(Javaプログラムがサーバ)方法を調べたり。
= Jython実行時にクラスパスを指定すれば、他のJARの中のクラスもインポートできる。 でも、「あらかじめホゲホゲしておけ」というのは親切じゃない。
= ちょっとしたメモ。
西尾泰和のブログ: 花粉症日記 に5日分くらいの日記がまとめ書きされているのは出来心です。
父親も花粉症を発症して、 甜茶エキスを摂取したら楽になったそうな。 というわけで僕も甜茶エキスを摂取することにしました。
= Tomcatのソースコードを読んだり、 JavaでSSHを使う(Javaプログラムがサーバ)方法を調べたり。
とりあえずTomcatをダウンロードすることにした。
で、起動するためのバッチファイルを読んだり。
:execCmd rem Get remaining unshifted command line arguments and save them in the set CMD_LINE_ARGS= :setArgs if ""%1""=="""" goto doneSetArgs set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 shift goto setArgs :doneSetArgs何かと思ったら、for文がないのか。 そんな古い言語は滅びてしまえばいいのに。
= Jython実行時にクラスパスを指定すれば、他のJARの中のクラスもインポートできる。 でも、「あらかじめホゲホゲしておけ」というのは親切じゃない。
>>> import java.net.URLClassLoader as CL
>>> cl = CL([r"C:\apache-tomcat-6.0.10\bin\bootstrap.jar"])
(略)
TypeError: java.net.URLClassLoader(): 1st arg can't be coerced to java.net.URL[]
>>> import java.net.URL as URL
>>> cl = CL([URL(r"C:\apache-tomcat-6.0.10\bin\bootstrap.jar")])
(略)
java.net.MalformedURLException: java.net.MalformedURLException: unknown protocol
: c
>>> cl = CL([URL(r"file:///C:\apache-tomcat-6.0.10\bin\bootstrap.jar")])
>>> cl.findClass("org.apache.catalina.startup.Bootstrap")
(略)
AttributeError: findClass
>>> cl.loadClass("org.apache.catalina.startup.Bootstrap")
<jclass org.apache.catalina.startup.Bootstrap at 10492028>
>>> b = _
>>> b.main([])
java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina
(略)
>>> b.main
<java function main at 7702450>
>>> from java.lang import *
>>> import jarray
>>> jarray.zeros(0, String)
array([], java.lang.String
>>> b.main(_)
java.lang.NullPointerException
at org.apache.catalina.startup.Bootstrap.setAwait(Bootstrap.java:352)
(略)
うーん。
眠い。
= ちょっとしたメモ。
>>> [m.name for m in cl.class.methods] ['newInstance', 'newInstance', 'findResource', 'findResources', 'getURLs', 'load Class', 'getSystemClassLoader', 'getResource', 'getResourceAsStream', 'getSystem Resource', 'getSystemResourceAsStream', 'clearAssertionStatus', 'getParent', 'ge tResources', 'getSystemResources', 'setClassAssertionStatus', 'setDefaultAsserti onStatus', 'setPackageAssertionStatus', 'hashCode', 'getClass', 'wait', 'wait', 'wait', 'equals', 'notify', 'notifyAll', 'toString']もちろんこのclってのはあるJavaのオブジェクト。