2011-01-06 ダウンロードサイトを変更しました
■[情報]
またまた、ずいぶんとご無沙汰してしまいましたが、その間にダウンロードサイトとして使わせていただいていたインフォシークのiswebライトサービスが終了してしまっていまして、一時ダウンロードができない状態が続いておりました。
本日ダウンロードサイトを切り替え、ダウンロードが再開できるようになりました。
ダウンロードしてみようかなと思われた方にはご迷惑をおかけし、大変申し訳ありませんでした。
BkGroovy の方は、ファイルをアップロードしていませんが、今のところアップロードする予定はありません。どうしても欲しい方はメールにてご連絡ください。ご要望が多ければ再度アップロードするかも知れません。
BkJava はこちらにリリースしてはいなかったものの、微々たる変更ではありますが、アップデートをしていまして、この機会に、整い次第リリースしようかなと考えています。バージョンはβなしの1.0とする予定です。
2007-10-17 BkJava β7 をリリースしました
2007-09-20 BkJava β6 をリリースしました
■[リリース]
BkJava の最新版 1.0 β6 をリリースしました。
今回の変更で、初期設定の煩わしさや、初期設定のミスによる問題が大幅に解消されるのではないかと思っています。
ひとつ目の変更点は、環境変数 PATH を設定しなくても JRE がインストールされていれば、Java が自動的に起動できるようにしたことです。
もうひとつの変更点は、初期設定を インストーラー によって行なえるようにしたことです。
また、SWT も インストーラー に含めることにしました。(これにより サイズ が結構大きくなってしまったのですが。。)
これらの変更により、インストーラー によって セットアップ を行なえば、設定ファイル を編集することなく BkJava が使えることになりました。
インストーラー は、ファイルとフォルダを作成するだけのもので、レジストリ も書き換えません。
いままでと同じ形式の配布ファイルも公開していますが、ぜひ、インストーラー を使ってみてください。
BkGroovy のほうは変更ありませんので、そのまま使用できます。
2007-09-10 Groovy 1.0 での動作確認
■[情報]
ずいぶんとご無沙汰してしまいましたが、その間に Groovy 1.0 のリリースが行われていました。
http://groovy.codehaus.org/Download から Groovy の 最新安定版 1.0 がダウンロードできるようになっています。
早速、BkGroovy の動作確認をしてみたところ、意図した動きをしてくれているようです。
前回書いた、ログの設定による Exception の発生が気になるところだったので、試してみたところ、ログレベルを FINER に設定しても Exception は発生していませんでした。
今回、動作確認した組み合わせは以下のとおりです。
2006-02-14 Groovy 1.0 JSR-05 がリリース
■[情報]
2/13 に http://dist.codehaus.org/groovy/distributions/ から Groovy の 最新版 JSR-05 がダウンロードできるようになりました。
早速、BkGroovy の動作確認をしてみたところ、意図した動きをしてくれている用です。
特に JSR-05 で groovy.lang.GroovyClassLoader クラスがどのように変更されるかが気がかりだったのですが、コードもすっきりとなっていて、古いバージョンの BkGroovy1.0 でも、また以前のように動くようになってくれていました。
1.0.1 の変更は、あまり納得できる変更ではなかったので、BkGroovy 1.0 のコードに戻そうと考えているところです。
JSR-04 でも確認していたのですが、一点気になる点が残っていて、それは ログの設定を FINER 以上に設定すると、NullPointerException が発生することです。
情報: java.lang.NullPointerException
at org.codehaus.groovy.runtime.MetaClassHelper.getClassName(MetaClassHelper.java:729)
at org.codehaus.groovy.runtime.MetaClassHelper.logMethodCall(MetaClassHelper.java:904)
at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:472)
at org.codehaus.groovy.runtime.Invoker.invokeStaticMethod(Invoker.java:184)
at org.codehaus.groovy.runtime.InvokerHelper.invokeStaticMethod(InvokerHelper.java:119)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeStaticMethod
(ScriptBytecodeAdapter.java:115)
at Sample01.<init>(Sample01.groovy)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at org.becky.bkj.groovy.BkGroovy.loadScripts(BkGroovy.java:38)
at org.becky.bkj.groovy.BkGroovyFactory.createEventHandler(BkGroovyFactory.java:61)
at org.becky.bkj.BkJava.loadConfig(BkJava.java:78)
というログが出力されます。(Sample01 のところはスクリプト毎に異なります。また、一部意図的に改行している行があります。)
この点は現在、調査中です。
2006-02-10 BkGroovy をアップデートしました
2005-07-25 BkJava 1.0 β5 をリリースしました
2005-07-15 Becky! で Groovy !
■[Becky! で Groovy!]
Groovy はJava実行環境で動作するスクリプト言語のひとつです。
Groovy の紹介については @IT にコラム 「@IT:Groovyに触ってみよう」 があります。
この Groovy を BkJava に組み込んで、Groovy から Becky! のプラグインAPIを使用することができるようにする方法をご紹介します。これにより、Becky! へのスクリプトアクセスが可能になります。
BkGroovyアドイン のダウンロード
まず、こちら から BkGroovyアドイン をダウンロードします。
BkGroovyアドインは Becky! で Groovy を動作可能にする BkJava のアドインです。
Groovy のダウンロード
Groovyのホームページ から、Groovy をダウンロードします。
現状の最新版は、groovy-1.0-jsr-02.zip でした。
このファイルを展開したフォルダ配下に embeddable フォルダがありますが、
この中にある groovy-all-1.0-jsr-02.jar を BkJava.ini のクラスパス設定に追加します。
以下のようになります。
(見やすくするため、改行が入っていますが、実際は各エントリは一行に記述してください)
jvm.option.count=4 jvm.option.0=-Djava.compiler=NONE jvm.option.1=-Djava.class.path=C:\Program Files\RimArts\B2\PlugIns\BkJava\classes; C:\Program Files\RimArts\B2\PlugIns\BkJava\lib\bkjava.jar; C:\Program Files\RimArts\B2\PlugIns\BkJava\lib\groovy-all-1.0-jsr-02.jar jvm.option.2=-Djava.library.path=C:\Program Files\RimArts\B2\PlugIns\BkJava\lib jvm.option.3=-Djava.util.logging.config.file=C:\Program Files\RimArts\B2 \Plugins\BkJava\conf\logging.properties jvm.option.4= jvm.option.5=
config.xml の編集
Groovy のファイルを置く場所を BkJava/conf フォルダの config.xml に設定します。
"lib" パラメーターの値(value属性) には、動的に読み込みたい jar ファイルを置くパスを設定します。
ここに置いた jar ファイルにあるクラスは BkJava.ini ファイルのクラスパス設定に追加しなくても、Groovyファイルから使用することができます。
"groovy" パラメーターの値(value属性) には、Groovy ファイルを置くパスを指定します。
この直下に置かれた BkEventHandler を実装した Groovyファイルは、Becky! のプラグインとして動作します。(ファイルは複数配置することが可能です。)
<?xml version="1.0" encoding="Shift_JIS" ?>
<config>
<event_handler>
<!--
factory 要素:
class属性:BkEventHandlerFactoryを実装するクラスを指定します。
-->
<factory class="org.becky.bkj.groovy.BkGroovyFactory">
<param name="lib" value="C:\Program Files\RimArts\B2\PlugIns\BkJava\lib" />
<param name="groovy" value="C:\Program Files\RimArts\B2\PlugIns\BkJava\groovy" />
</factory>
</event_handler>
</config>
groovy ファイルを作成する
上で指定したフォルダに BkEventHandler を実装した Groovyファイル を作成します。
ここでは、以下のような GroovyTest01.groovy を作成しました。
import org.becky.bkj.*
import java.util.logging.Logger
class GroovyTest01 extends BkEventAdapter
{
void start()
{
Logger.global.info("GroovyTest01 を開始します。")
}
int exit()
{
Logger.global.info("GroovyTest01 を終了します。")
return 0
}
void finishRetrieve(int number)
{
Logger.global.info(number + "件 受信しました。")
}
}
動かしてみる
Becky! を起動して、メールを受信後、終了すると、以下のようなログが見れます。
2005/07/16 0:19:22 gjdk.java.util.logging.Logger_GroovyReflector invoke 情報: GroovyTest01 を開始します。 2005/07/16 0:19:28 gjdk.java.util.logging.Logger_GroovyReflector invoke 情報: 0件 受信しました。 2005/07/16 0:20:36 gjdk.java.util.logging.Logger_GroovyReflector invoke 情報: GroovyTest01 を終了します。
2005-07-12 BkJava 1.0 ベータ版 をリリースしました
サンプルプログラムを用意しています。(サンプルには実用性はないです。)
サンプルは、「ツール」メニューに「BkJava:SWTサンプル」と「BkJava:Swingサンプル」という2つのメニューを追加し、そのメニューを選択すると、SWT(ヘッダ表示のサンプル)とSwing(メール作成ウィンドウの起動)のサンプルが動作する、というものです。
サンプルはソースコードがありますので、参照してください。
2005-07-09 BkJava 1.0 ベータ版 をリリースしました
サンプルプログラムを用意しています。
サンプルは、「ツール」メニューに「BkJava:SWTサンプル」と「BkJava:Swingサンプル」という2つのメニューを追加し、そのメニューを選択すると、SWT(ヘッダ表示のサンプル)とSwing(メール作成ウィンドウの起動)のサンプルが動作する、というものです。
サンプルはソースコードがありますので、参照してください。