[seasar-dotnet:1994] Re: DBFlute: 実行に必要なのはJRE?JDK?

kubo [E-MAIL ADDRESS DELETED]
2011年 3月 25日 (金) 15:20:38 JST


久保(jflute)です。

> バージョン1.2のsqljdbc.jarであれば5.0環境でも動いた、
> っていうことになりますかね...!?

すいません、勘違い。
そちらでは sqljdbc4.jar ではなく、
sqljdbc.jar を利用しているということですね。
なのでそこは想定通りではあると。

で、sqljdbc.jarの中でもバージョンによっては、
JREとのバージョンの兼ね合いで動かないバージョンが
存在する、ということになりますね。

とても貴重な情報になるかと思います。
ありがとうございました。

2011/3/25 kubo <[E-MAIL ADDRESS DELETED]>:
> 久保(jflute)です。
>
> なるほど、状況わかりました。
> 詳細な報告助かります。
>
> ドキュメント方はちょっと微調整しました。とりあえずは、
> 「Java-5.0 以上の JDK か JRE の環境が必要です」と。
> tools.jar に関しては、ひとまず物理的な問題が出てくるまでは、
> ちょっと置いておきたいと思います。何か情報が入れば、
> ドキュメント等に反映したいと思います。
>
> JDBCドライバの方はなかなかややこしいようですね。
> 今回のフィードバックがとても貴重なものになるかと思います。
> ありがとうございます。
>
> ちなみに、SQLServerの場合、
> o sqljdbc.jar => 5.0
> o sqljdbc4.jar => 6.0
> という風な対応だと認識していたのですが、
> (実際に自分も試してみた結果)
>
> // SQLServerの取扱い | DBFlute
> http://dbflute.sandbox.seasar.org/ja/manual/reference/dbway/sqlserver/index.html
>
> バージョン1.2のsqljdbc.jarであれば5.0環境でも動いた、
> っていうことになりますかね...!?
>
>
> #
> # JDBCドライバはSQLServerが一番ややこしくって...
> #
>
> 2011/3/25 Junichi Ito <[E-MAIL ADDRESS DELETED]>:
>> 久保さん
>>
>> 返信ありがとうございます。
>> えっと、結論から申し上げますと、tools.jarは実行に必須ではないようです。
>> 以下詳細です(長文すみません)。
>>
>> まず、昨日から今日にかけて起こったことを時系列にまとめてみます。
>>
>> * * * * * * * * * * * * * * *
>> <昨日>
>> 1.
>> Replace Schemaを実行
>> => "Unable to locate tools.jar. Expected to find it in C:\Program
>> Files\Java\jre1.5.0_11\lib\tools.jar"の
>> メッセージとともに、BUILED FAILEDとなった
>> (ログは最後に添付)
>>
>> 2.
>> tools.jarがないことがエラー原因と推測
>> => tools.jarを入手し、"C:\Program Files\Java\jre1.5.0_11\lib"にコピー
>>
>> 3.
>> "Unable to locate tools.jar."のメッセージはなくなったが、再びBUILED FAILEDとなる
>> => "java.lang.UnsupportedClassVersionError: Bad version number in .class file"の
>> メッセージが出ていたが、実はこのメッセージは上記1の時点でも出ていた。
>> (ログは最後に添付)
>>
>> 4.
>> sqljdbc4.jarのMANIFEST.MFを確認すると「Created-By: 1.5.0_15-b04
>> (Sun Microsystems Inc.)」とあり、JREのバージョン(=build 1.5.0_11-b03)より
>> 新しいことが原因ではないかと推測
>> => バージョン1.2のsqljdbc.jarファイルを入手し、extlibフォルダにコピー
>>
>> 5.
>> 今度は「警告: Failed to load the sqljdbc_auth.dll」
>> 「このドライバは、統合認証を行えるようには構成されていません。」という
>> メッセージが表示されたので、ユーザー名とパスワードを指定する方法に変更。
>>
>> 6.
>> Drop Tableの継続エラー問題などを解決し、ようやく「BUILD SUCCESSFUL」となる。
>>
>>
>> <今日>
>> 7.
>> エラー再現を再現させるため、tools.jarをtools.jar.bakにリネームし、Replace Schemaを実行。
>> => "Unable to locate tools.jar."のメッセージは表示されるが、
>> 「BUILD SUCCESSFUL」となる。(あれれ???)
>> (ログは最後に添付)
>>
>> 8.
>> jdbc.bat, generate.batともに"Unable to locate tools.jar."のメッセージは表示されるが、
>> 「BUILD SUCCESSFUL」となる。
>> * * * * * * * * * * * * * * *
>>
>> つまり、7, 8の結果から"Unable to locate tools.jar."は警告表示らしいが、実行には
>> 問題ないと推測されます。
>>
>> 最初の投稿ではtools.jarがないからBUILED FAILEDとなった、と書きましたが、
>> 改めてログを見てみると、原因は別の問題(JDBCドライバのバージョン)だったようです。
>>
>> 警告表示が出るのは気持ち悪いですが、JDKが必須かというと、そうではないと思われます。
>> どうもお騒がせして申し訳ありませんでした。
>>
>> なお、参考情報として1, 3, 7のログを添付しておきます。
>>
>> 伊藤
>>
>> * * * * * * * * * * * * * * *
>> 1のログ
>>
>> Database will be initialized. Are you ready? (y or n) y
>> .\extlib\extlib へのショートカット.lnk
>> .\extlib\sqljdbc4.jar
>> .\extlib\_readme.txt
>> 3 個のファイルをコピーしました
>> Unable to locate tools.jar. Expected to find it in C:\Program
>> Files\Java\jre1.5.0_11\lib\tools.jar
>> Buildfile: ..\..\..\tools\dbflute-0.8.9.25\build-torque.xml
>>
>> replace-schema:
>>     [echo] +-----------------------------------------------+
>>     [echo] |                                               |
>>     [echo] | Replace-Schema !                              |
>>     [echo] |                                               |
>>     [echo] +-----------------------------------------------+
>> [df-create-schema] 18:40:02,541 ERROR [main]
>> org.seasar.dbflute.logic.DfDBFluteTaskUtil - Look! Read the message
>> below.
>> [df-create-schema] /* * * * * * * * * * * * * * * * * * * * * * * * *
>> * * * * ** * * *
>> [df-create-schema] Failed to execute DBFlute Task 'ReplaceSchema'.
>> [df-create-schema]
>> [df-create-schema] [Advice]
>> [df-create-schema] Check the exception messages and the stack traces.
>> [df-create-schema] * * * * * * * * * */
>> [df-create-schema] java.lang.UnsupportedClassVersionError: Bad version
>> number in .class file
>> [df-create-schema]      at java.lang.ClassLoader.defineClass1(Native Method)
>> [df-create-schema]      at java.lang.ClassLoader.defineClass(Unknown Source)
>> [df-create-schema]      at
>> org.apache.tools.ant.AntClassLoader.defineClassFromData(AntClassLoader.java:1130)
>> [df-create-schema]      at
>> org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1307)
>> [df-create-schema]      at
>> org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1371)
>> [df-create-schema]      at
>> org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1324)
>> [df-create-schema]      at
>> org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1072)
>> [df-create-schema]      at java.lang.ClassLoader.loadClass(Unknown Source)
>> [df-create-schema]      at
>> java.lang.ClassLoader.loadClassInternal(Unknown Source)
>> [df-create-schema]      at java.lang.Class.forName0(Native Method)
>> [df-create-schema]      at java.lang.Class.forName(Unknown Source)
>> [df-create-schema]      at
>> org.seasar.dbflute.helper.jdbc.connection.DfDataSourceHandler.newDriver(DfDataSourceHandler.java:186)
>> [df-create-schema]      at
>> org.seasar.dbflute.helper.jdbc.connection.DfDataSourceHandler.createConnection(DfDataSourceHandler.java:152)
>> [df-create-schema]      at
>> org.seasar.dbflute.helper.jdbc.connection.DfDataSourceHandler.processCachedConnection(DfDataSourceHandler.java:144)
>> [df-create-schema]      at
>> org.seasar.dbflute.helper.jdbc.connection.DfDataSourceHandler.getConnection(DfDataSourceHandler.java:133)
>> [df-create-schema]      at
>> org.seasar.dbflute.helper.jdbc.connection.DfSimpleDataSource.getConnection(DfSimpleDataSource.java:23)
>> [df-create-schema]      at
>> org.seasar.dbflute.logic.jdbc.connection.DfCurrentSchemaConnector.connectSchema(DfCurrentSchemaConnector.java:52)
>> [df-create-schema]      at
>> org.seasar.dbflute.task.bs.DfAbstractTask.connectSchema(DfAbstractTask.java:363)
>> [df-create-schema]      at
>> org.seasar.dbflute.task.bs.DfAbstractTask.setupDataSource(DfAbstractTask.java:341)
>> [df-create-schema]      at
>> org.seasar.dbflute.task.replaceschema.DfCreateSchemaTask.setupDataSource(DfCreateSchemaTask.java:63)
>> [df-create-schema]      at
>> org.seasar.dbflute.task.bs.DfAbstractTask.execute(DfAbstractTask.java:90)
>> [df-create-schema]      at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>> [df-create-schema]      at
>> sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>> [df-create-schema]      at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> [df-create-schema]      at java.lang.reflect.Method.invoke(Unknown Source)
>> [df-create-schema]      at
>> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>> [df-create-schema]      at org.apache.tools.ant.Task.perform(Task.java:348)
>> [df-create-schema]      at org.apache.tools.ant.Target.execute(Target.java:357)
>> [df-create-schema]      at
>> org.apache.tools.ant.Target.performTasks(Target.java:385)
>> [df-create-schema]      at
>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>> [df-create-schema]      at
>> org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>> [df-create-schema]      at
>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>> [df-create-schema]      at
>> org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>> [df-create-schema]      at org.apache.tools.ant.Main.runBuild(Main.java:698)
>> [df-create-schema]      at org.apache.tools.ant.Main.startAnt(Main.java:199)
>> [df-create-schema]      at
>> org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>> [df-create-schema]      at
>> org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
>>
>> BUILD FAILED
>> C:\~\dbflute-0.8.9.25\build-torque.xml:224: org.seasar.dbf
>> lute.exception.DfDBFluteTaskFailureException:
>> /* * * * * * * * * * * * * * * * * * * * * * *
>> Failed to execute DBFlute task: ReplaceSchema
>> Look at the log: console or dbflute.log
>> * * * * * * * * * */
>>
>> Total time: 2 seconds
>> 続行するには何かキーを押してください . . .
>>
>>
>> * * * * * * * * * * * * * * *
>> 3のログ
>> ※"Unable to locate tools.jar."のメッセージが消えた以外は同じ
>>
>> Database will be initialized. Are you ready? (y or n) y
>> .\extlib\extlib へのショートカット.lnk
>> .\extlib\sqljdbc4.jar
>> .\extlib\tools.jar
>> .\extlib\_readme.txt
>> 4 個のファイルをコピーしました
>> Buildfile: ..\..\..\tools\dbflute-0.8.9.25\build-torque.xml
>>
>> replace-schema:
>>     [echo] +-----------------------------------------------+
>>     [echo] |                                               |
>>     [echo] | Replace-Schema !                              |
>>     [echo] |                                               |
>>     [echo] +-----------------------------------------------+
>> [df-create-schema] 18:51:48,921 ERROR [main]
>> org.seasar.dbflute.logic.DfDBFluteTaskUtil - Look! Read the message
>> below.
>> [df-create-schema] /* * * * * * * * * * * * * * * * * * * * * * * * *
>> * * * * ** * * *
>> [df-create-schema] Failed to execute DBFlute Task 'ReplaceSchema'.
>> [df-create-schema]
>> [df-create-schema] [Advice]
>> [df-create-schema] Check the exception messages and the stack traces.
>> [df-create-schema] * * * * * * * * * */
>> [df-create-schema] java.lang.UnsupportedClassVersionError: Bad version
>> number in .class file
>> [df-create-schema]      at java.lang.ClassLoader.defineClass1(Native Method)
>> [df-create-schema]      at java.lang.ClassLoader.defineClass(Unknown Source)
>> [df-create-schema]      at
>> org.apache.tools.ant.AntClassLoader.defineClassFromData(AntClassLoader.java:1130)
>> [df-create-schema]      at
>> org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1307)
>> [df-create-schema]      at
>> org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1371)
>> [df-create-schema]      at
>> org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1324)
>> [df-create-schema]      at
>> org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1072)
>> [df-create-schema]      at java.lang.ClassLoader.loadClass(Unknown Source)
>> [df-create-schema]      at
>> java.lang.ClassLoader.loadClassInternal(Unknown Source)
>> [df-create-schema]      at java.lang.Class.forName0(Native Method)
>> [df-create-schema]      at java.lang.Class.forName(Unknown Source)
>> [df-create-schema]      at
>> org.seasar.dbflute.helper.jdbc.connection.DfDataSourceHandler.newDriver(DfDataSourceHandler.java:186)
>> [df-create-schema]      at
>> org.seasar.dbflute.helper.jdbc.connection.DfDataSourceHandler.createConnection(DfDataSourceHandler.java:152)
>> [df-create-schema]      at
>> org.seasar.dbflute.helper.jdbc.connection.DfDataSourceHandler.processCachedConnection(DfDataSourceHandler.java:144)
>> [df-create-schema]      at
>> org.seasar.dbflute.helper.jdbc.connection.DfDataSourceHandler.getConnection(DfDataSourceHandler.java:133)
>> [df-create-schema]      at
>> org.seasar.dbflute.helper.jdbc.connection.DfSimpleDataSource.getConnection(DfSimpleDataSource.java:23)
>> [df-create-schema]      at
>> org.seasar.dbflute.logic.jdbc.connection.DfCurrentSchemaConnector.connectSchema(DfCurrentSchemaConnector.java:52)
>> [df-create-schema]      at
>> org.seasar.dbflute.task.bs.DfAbstractTask.connectSchema(DfAbstractTask.java:363)
>> [df-create-schema]      at
>> org.seasar.dbflute.task.bs.DfAbstractTask.setupDataSource(DfAbstractTask.java:341)
>> [df-create-schema]      at
>> org.seasar.dbflute.task.replaceschema.DfCreateSchemaTask.setupDataSource(DfCreateSchemaTask.java:63)
>> [df-create-schema]      at
>> org.seasar.dbflute.task.bs.DfAbstractTask.execute(DfAbstractTask.java:90)
>> [df-create-schema]      at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>> [df-create-schema]      at
>> sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>> [df-create-schema]      at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> [df-create-schema]      at java.lang.reflect.Method.invoke(Unknown Source)
>> [df-create-schema]      at
>> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>> [df-create-schema]      at org.apache.tools.ant.Task.perform(Task.java:348)
>> [df-create-schema]      at org.apache.tools.ant.Target.execute(Target.java:357)
>> [df-create-schema]      at
>> org.apache.tools.ant.Target.performTasks(Target.java:385)
>> [df-create-schema]      at
>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>> [df-create-schema]      at
>> org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>> [df-create-schema]      at
>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>> [df-create-schema]      at
>> org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>> [df-create-schema]      at org.apache.tools.ant.Main.runBuild(Main.java:698)
>> [df-create-schema]      at org.apache.tools.ant.Main.startAnt(Main.java:199)
>> [df-create-schema]      at
>> org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>> [df-create-schema]      at
>> org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
>>
>> BUILD FAILED
>> C:\~\dbflute-0.8.9.25\build-torque.xml:224: org.seasar.dbf
>> lute.exception.DfDBFluteTaskFailureException:
>> /* * * * * * * * * * * * * * * * * * * * * * *
>> Failed to execute DBFlute task: ReplaceSchema
>> Look at the log: console or dbflute.log
>> * * * * * * * * * */
>>
>> Total time: 1 second
>> 続行するには何かキーを押してください . . .
>>
>>
>> * * * * * * * * * * * * * * *
>> 7のログ
>> ※"Unable to locate tools.jar."のメッセージは出ているが、ビルドは成功する。
>>
>> Database will be initialized. Are you ready? (y or n) y
>> .\extlib\sqljdbc.jar
>> .\extlib\_readme.txt
>> 2 個のファイルをコピーしました
>> Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre1.5.
>> 0_11\lib\tools.jar
>> Buildfile: ..\..\..\tools\dbflute-0.8.9.25\build-torque.xml
>>
>> replace-schema:
>>     [echo] +-----------------------------------------------+
>>     [echo] |                                               |
>>     [echo] | Replace-Schema !                              |
>>     [echo] |                                               |
>>     [echo] +-----------------------------------------------+
>>
>> BUILD SUCCESSFUL
>> Total time: 5 seconds
>> 続行するには何かキーを押してください . . .
>> _______________________________________________
>> seasar-dotnet mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>
>


seasar-dotnet メーリングリストの案内