SQLiteで org.ibex.nestedvm.UnixRuntimeのClassNotFoundExceptionが発生する

現象

昔書いた、SQLiteJDBCで動かすGroovyのコードが動かない。
http://orangeclover.hatenablog.com/entry/20120505/1336221994

  • エラー
Caught: java.lang.NoClassDefFoundError: org/ibex/nestedvm/UnixRuntime
java.lang.NoClassDefFoundError: org/ibex/nestedvm/UnixRuntime
        at EvernoteSelectGroovyTag.run(EvernoteSelectGroovyTag.groovy:30)
Caused by: java.lang.ClassNotFoundException: org.ibex.nestedvm.UnixRuntime

原因

Class.forName("org.sqlite.SQLite") が不要。
JDBC4.0ドライバーだと、Class.forNameはいらない。
SQLiteだとこんな例外になるんだ。

windowsのgit 1.8.5.2.で fatal: could not read Password for 'https://XXXXX':No such file or directoryのエラーになる

bitbucketにpushできなくなった。。。
httpsだとだめなようだ。

現象

httpsでユーザー名指定してgit pushだと以下のエラーになる

fatal: could not read Password  for 'https://orangeclover@bitbucket.org':No such file or directory

httpsでユーザー名なしで、git pushだと以下のエラーになる

fatal: could not read Username for 'https://bitbucket.org': No such file or directory

git clone、git fetchも同じ現象になる。

条件

  • バージョンアップ前は正常にpushできた環境
  • gitを1.8.1.2から1.8.5.2にあげたら動作しなくなった

環境

  • git:version 1.8.5.2-preview20131230/git version 1.8.5.2.msysgit.0
  • Windows 7 x64



対処

修正されてるようだが、1.8.5.3のWindows版はまだでてないので、
それまでの対処。

2013年12月 Groovyist/G*のあれやこれや

f:id:orangeclover:20140114214213j:plain
お弁当だって作れちゃうWebアプリケーションフレームワーク。そう、Grailsならね!ヾ(*´∀`*)ノキャッキャ

恒例のAdvent Calendarがあった12月。今週のGrails!! 日本語版も2期として復活。

blog

Groovy で Dempsy を単独実行2 - KeySource - なんとなくな Developer のメモ
G* Advent Calendar 2013 1日目 - Gaiden - Yamkazu's Blog
Groovy学習7 List,Range,Map,Dynamic objects (Collections) - Symfoware
Bitbucket | The Git solution for professional teams
Gradleことはじめ - Qiita
Bitbucket | The Git solution for professional teams
Bitbucket | The Git solution for professional teams
よろしい。ならばGradleだ。 - 書く。
Mavericks で gradle してみたら
PivotalがReactorをGAリリース
2013-12-03
Bitbucket | The Git solution for professional teams
Handling signing configs with Gradle » Tim Roes
Groovy学習8 Collectionsで使用できるメソッド(each,collect,find,findAll,inject,every,any,max,min,join) - Symfoware
Groovy学習9 Groovy SQL - Symfoware
Groovy学習10 別のファイルに記載したクラスやメソッドを使用する - Symfoware
Groovy学習11 groovycやantでgroovyスクリプトをコンパイルし、classやjarファイルにする - Symfoware
Groovyのちょっとしたこと「Scriptのローカル変数のスコープ」 - Qiita
Groovyのちょっとしたこと「Groovyの2.2がリリースされました。その1」 - Qiita
Amazonの中の人によるAWS re:Invent 出張報告会での注目スライドサマリ(Gremlin) - 夢とガラクタの集積場
Bitbucket | The Git solution for professional teams
Bitbucket | The Git solution for professional teams
Gradleからマイナス文字を含んだAntタスクを呼び出す - Toby55@新潟の日常
Grails 2.3.4 リリース!!! - leftovers...
http://qiita.com/i18n/items/76de1e2b4256ff601158
GroovyでGCログ解析: ちょっと扱いにくいフォーマットを処理するときのパターン - nobusueの日記
Grailsプラグイン取り扱いの過去と現在。 - leftovers...
Qiita記事の目次を自動生成するGroovyスクリプト - Qiita
[GroovyとProcessing]正射影投影法 - Qiita
Sublime Text で Groovy の構文チェック - えんどーめも
Groovy で Dempsy を分散実行 - なんとなくな Developer のメモ
Groovy学習12 ファイルの読み込みと出力(文字コード指定) - Symfoware
GroovyでJUnit用のテストフィクスチャを宣言する を試してみたのだけど - エンジニア的なネタを毎週書くブログ
Gracenote with Groovy - tetsurokitaharaの日記
Groovy学習13 郵便番号CSVファイルの加工 - Symfoware
Gracenote with Groovy - tetsurokitaharaの日記
Groovy で JVM ログ解析 (ClassHistogram編) #gadvent #java - unnamed
よく使いそうなGroovy使い方メモ - Qiita
Gradle Watch Plugin を作ってみた - bluepapa32’s Java Blog
Groovy学習14 XmlSlurperによるXMLの解析 - Symfoware
【教えてください】コンソールからだと通るけどIDEAからだとMissingMethodExceptionになるgroovyスクリプトのデバッグ方法 - bluebird
eclipseの新規GradleプロジェクトウィザードのSample projectに対する疑問編 - 書く。
Gradleで実行したテストが失敗した場合にJenkinsジョブをunstableにする - しおしお
IntelliJ IDEA 13のAndroidデベロッパにうれしい新機能群の紹介 | The JetBrains Blog
【eot,svg】Grailsでwebフォントのmimeタイプを設定する【ttf,woff】 - 文系プログラマによるTIPSブログ
Gradle使い方メモ - Qiita
Bitbucket | The Git solution for professional teams
AntのGroovyタスクを使うときの俺流ベストプラクティス - nobusueの日記
[Grails] ログイン機能を実装(Spring Security Plugin) - Qiita
Bitbucket | The Git solution for professional teams
Grails/Gradleの「さっきのテストレポート」をAlfredに表示してもらう - 豆無日記
[GroovyとProcessing]X軸方向にスライドする - Qiita
EAT PIZZA !! - お弁当だって作れちゃうWebアプリケーションフレームワーク。そう、Grailsならね!ヾ(*´∀`*)...
AntのGroovyタスクを使うときの俺流ベストプラクティス - nobusueの日記
http://qiita.com/i18n/items/661766fb728fd9b872e2
Gradle 1.10 released - Old Forum - Gradle Forums
Gradleプラグインの作り方 - GeekFactory
RxJava-Groovy でリアクティブプログラミング - Qiita
[Groovy]本物のカレンダーのように1ヶ月35日分のカレンダーを生成する。 - Qiita
[Groovy]シグマ(Σ・数列の和)を実装 - Qiita
GBenchの足跡を振り返る - Masato Nagai's Blog
http://ihiroky.hatenablog.com/entry/2013/12/20/061909
Groovyで内包表記を作ってみた #gadvent - uehaj's blog
http://d.hatena.ne.jp/kiy0taka/20131222/1387724167
2013-12-21
Groovy の Canonical アノテーションっぽいのを Xtend で - お だ のスペース
今週のアルゴリズム:最短経路の計算!(Java/Groovy/Scala/Fortran/Pascalでnext_permutation) - Qiita
http://posaune.hatenablog.com/entry/2013/12/30/191820
UTF-8 の build.gradle を使う Windows ユーザーにこれ以上悲しい思いをさせたくない!! - 一角獣は夜に啼く
Advent Calendarの分は重複している分があります。。

G* Advent Calendar 2013

Tweet







































Q














Q&A





リンク切れやおかしなリンク、漏れがあったら、教えてください。


コメント、トラックバックはてブTwitter @orange_clover宛 で、お願いします。



G*エコシステムの代表例

2013年11月 Groovyist/G*のあれやこれや

f:id:orangeclover:20131202223040j:plain
G*(Groovy, Grails ..) Advent Calendarも始まってますが、11月のまとめです。
Grailsセミナー@日本大学JJUG CCC 2013 FallのJVM言語パネルディスカッション、G*ワークショップZ、第四回 #渋谷java
3つ4つイベントがあり、そのうちGrails2つ3つありました。


blog

Groovyでリストモナド(orリストアプリカティブ)を書いてみる - uehaj's blog
[GroovyとProcessing]ポンゲーム(未完成) - Qiita
Gradle SSH Plugin 0.1.9をリリースしました - GeekFactory
Groovyで決まった月のカレンダーを任意の曜日はじまりの形で生成する方法 - Qiita
データベースアクセスの基本(CRUD)(1/4):初心者のためのGroovy/Grails入門 - libro
データベースアクセスの基本(CRUD)(2/4):初心者のためのGroovy/Grails入門 - libro
データベースアクセスの基本(CRUD)(3/4):初心者のためのGroovy/Grails入門 - libro
データベースアクセスの基本(CRUD)(4/4):初心者のためのGroovy/Grails入門 - libro
Apache Wicket User Guideを grails doc してみた - Qiita
Bitbucket | The Git solution for professional teams
Groovy で ZooKeeper を組み込み実行 - なんとなくな Developer のメモ
groovyあれこれ: JenkinsのREST APIを使用してプロジェクト名と説明を一覧表示する
[GroovyとProcessing]まいんくらふと2D? - Qiita
gradle の dependencies は「Gradle, please」に聞け
JJUG CCC 2013 Fall に参加してきた - くろめも
http://pekokun.hatenablog.jp/entry/2013/11/12/010239
Grails 2.3系バリデーションblank:falseがUnitテストで無視される件 - leftovers...
Grails Spring Security Coreプラグイン2.0の話を少し。 - leftovers...
https://dl.dropboxusercontent.com/u/20288797/groovy-documentation/index.html
Ubuntu 12.10にGroovy 2.1.9をインストールする(GVM:Groovy enVironment Manager使用) - Symfoware
温帯気候: Groovyで色々やってみた SwingBuilderでのIDの活用(後、フォーカスに関してメモ)
2013.11.16 shibuya java #4 Grails Goodness
https://github.com/2YY/instant-image-manager
第四回 #渋谷java に参加しました - 混沌とした備忘録
[Groovy] 実行時にバージョンを取得する - Qiita
[GroovyとProcessing]まいんくらふと2Dにブロック選択を追加 - Qiita
Shibuya.Java #04 - Speaker Deck
AsakusaFW0.5.2 Gradle対応! - ひしだまの変更履歴
Gradle 1.9 がリリースされました - ひだまりソケットは壊れない
Mavenさんの代わりにGradleさんを使ったら依存解決で - 日々常々
Grails 2.3.3 リリース!!! - leftovers...
http://piyopiyoducky.net/blog/2013/08/16/indent-the-comment-in-intellij-idea/
Java 8のOptionalをGroovyから超簡潔に使用する - uehaj's blog
Gradle1.9でsetupBuildがinitに - 日々常々
http://qiita.com/i18n/items/1069730df5a120a1585a
Groovy学習2 クロージャ、ファイル処理、文字列処理 - Symfoware
Asakusa Gradle Pluginを試してみた - ひしだまの変更履歴
Groovy学習3 正規表現 - Symfoware
Groovy学習4 正規表現を使用し、データをまとめて取り出す - Symfoware
Groovy学習5 使用できる演算子まとめ - Symfoware
Groovy学習6 色々なループの方法 - Symfoware
[GroovyとProcessing]まいんくらふと2Dのブロック選択を改造 - Qiita
http://qiita.com/i18n/items/eae8b08ef373794025da
http://qiita.com/i18n/items/940558ec34622f0358c4
gradleをつかって依存ライブラリを含む単一で実行可能なjarを生成する - Qiita
温帯気候: Groovyで色々やってみた NetbeansのGradle Supportプラグインを用いてGroovyでプロジェクトを構築する話
Gradleプラグインで動的にタスクを生成したいのだけどどうやるのか分からない - へんてこ
Gradleプラグインでの入れ子構造引数による動的タスク生成 - へんてこ
ふつうのWebアプリにGradleをしこむ - I'm still growin' up ...
http://qiita.com/i18n/items/3081c3c423fa71b31f61
GroovyServでGroovyの起動を高速化 - Symfoware
Groovy で Dempsy を単独実行1 - なんとなくな Developer のメモ


WindowsでGrails 2.3.2だとError Forked Grails VM exited with errorで起動しない
WindowsでGrails 2.3.3だと起動はできるようになったけど、今度は止められない
WindowsでGrails 2.3.3だと起動はできるようになったけど、今度は止められない(続き)
1回目はUnsatisfiedLinkErrorで、2回目以降はNoClassFoundError

Tweet















































































































































Q






















Q&A





































Grails 2.3: RESTハンズオン - JGGUG G*ワークショップZ Nov 2013


リンク切れやおかしなリンク、漏れがあったら、教えてください。


コメント、トラックバックはてブTwitter @orange_clover宛 で、お願いします。



G*エコシステムの代表例

コミュニティ

イベント・勉強会

1回目はUnsatisfiedLinkErrorで、2回目以降はNoClassFoundError

忘備録

現象

1回目はUnsatisfiedLinkErrorで、2回目でNoClassFoundErrorになる。

ソース

class Native{
    static{
        System.loadLibrary("hoge")
    }
}

try{
    def hoge = new Native()
}catch(UnsatisfiedLinkError e){
    e.printStackTrace()
}

def fuga = new Native()

スタックトレース

groovy NativeError.groovy
java.lang.UnsatisfiedLinkError: no hoge in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
        at java.lang.Runtime.loadLibrary0(Runtime.java:845)
        at java.lang.System.loadLibrary(System.java:1084)
        at java_lang_System$loadLibrary.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at Native.<clinit>(NativeError.groovy:3)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
        at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
        at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:186)
        at NativeError.run(NativeError.groovy:8)
        at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:257)
        at groovy.lang.GroovyShell.run(GroovyShell.java:220)
        at groovy.lang.GroovyShell.run(GroovyShell.java:150)
        at groovy.ui.GroovyMain.processOnce(GroovyMain.java:557)
        at groovy.ui.GroovyMain.run(GroovyMain.java:344)
        at groovy.ui.GroovyMain.process(GroovyMain.java:330)
        at groovy.ui.GroovyMain.processArgs(GroovyMain.java:119)
        at groovy.ui.GroovyMain.main(GroovyMain.java:99)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:106)
        at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:128)
Caught: java.lang.NoClassDefFoundError: Could not initialize class Native
java.lang.NoClassDefFoundError: Could not initialize class Native
        at NativeError.run(NativeError.groovy:13)


staticイニシャライザーで失敗してるので、2回めのインスタンス生成はNoClassDefFoundErrorになる。
「Could not initialize class Native」がポイント。


DLLのロード処理だけなので、NoClassFoundErrorになったので、最初原因が分からなかった。
GroovyじゃなくてJavaの仕様。

WindowsでGrails 2.3.3だと起動はできるようになったけど、今度は止められない(続き)


誤解がある表現だったので、捕捉。
Grails 2.3.1でも、フォークされたプロセスであるForkedTomcatServerは止まらない。


Grails 2.3.1の動き。

起動

>grails run-app
アプリを起動。

>jps |grep -v Jps
34832 GrailsStarter
31240 ForkedTomcatServer
2つのプロセスが起動する

停止

| Server running. Browse to http://localhost:8080/hellowolrd
バッチ ジョブを終了しますか (Y/N)? y

Ctl+C を実行すると受け付ける

>jps |grep -v Jps
31240 ForkedTomcatServer

GrailsStarter が止まるが、ForkedTomcatServerは残ったまま。


ForkedTomcatServerを止める

ForkedTomcatServerを止めるには grails stop-appが必要。

>grails stop-app
| Server Stopped

jps |grep -v Jps


Grails2.3.2以降だとCtrl+Cを受け付けてくれないので
「バッチ ジョブを終了しますか (Y/N)?」もでない。
2つのプロセスが止まることは期待していないんだ。
Ctrl+Cでコマンドプロンプトに制御が戻ってくることを期待していたんだけど、
返ってこなかった。
あれ?そんな挙動だったっけ?と思って2.3.1で試してみたら挙動が違った。


で、どう動くのが仕様なのか分からんが、コマンドプロンプト使わなきゃいいという
話なのでまぁいいっかと。

WindowsでGrails 2.3.3だと起動はできるようになったけど、今度は止められない

f:id:orangeclover:20131126215825j:plain

現象

f:id:orangeclover:20131126220416p:plain

Server running. Browse to http://localhost:8080/hellowolrd

URLが表示された後で、コマンドプロンプトでCtrl+Cが効かない。

そのため、停止も他のコマンドも実行できなくなる。

対処

別のコマンドプロンプトを開いて、grasils stop-appとすれば
止められる。

発生するバージョン

version ctrl+Cによる停止
grails 2.3.1
grails 2.3.2 ×
grails 2.3.3 ×

2.3.2はそのままでは起動しないので、forkオプションの回避で起動した

2.3.2からのようだ。

環境

Grails 2.3.3
Java: 1.7.0_45

Grails 2.3.2だと起動できないし、2.3.3だと停止できない・・・
Windowsつかうなってことか。
もしくは、コマンドプロンプトなんかじゃなくて、
サムライズムからIntelliJ IDEAを購入しろってことか