レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
B11 と readcgi.js のスレ#17 @避難所
-
前スレ
B11 と readcgi.js のスレ#16 @避難所
http://jbbs.shitaraba.net/bbs/read.cgi/computer/43680/1672829512/
-
さて
大前提として今後は
Java5、Java6、Java7、Java8(LTS)、Java11(LTS)、Java17(LTS)
のみをフォローの対象とします
それ以外のバージョンのJavaに関しては使うのは自由ですが
なんか起きても首は突っ込みません
-
で
>>523,529に関してですが恐らく
V2C-R 2.11.8とその派生のV2C-R+、V2C+、V2C-R 3.4.2 with B11で起こりえます
V2C本家、V2CMODとその派生のZと/2では起こりません
なのでこれ以降は
V2C-R 2.11.8とその派生のV2C-R+、V2C+、V2C-R 3.4.2 with B11
に限定した話になります
-
5chの過去ログを表示する(read.cgiモード)はJavaから
Javascriptという言語で書かれたスクリプトを呼び出して行うのですが
それにはスクリプトエンジンというものをJavaにくっ付ける必要があります
で>>529に関してですが恐らく原因は
Java8にはスクリプトエンジンがくっ付いていて
Java17にはスクリプトエンジンがくっ付いていない
からだと思います
で一番シンプルな回避策としては
V2C-R 2.11.8とその派生のV2C-R+、V2C+、V2C-R 3.4.2 with B11
の場合はJava8と使い続けてください
Java11にも今のところかろうじてスクリプトエンジンがくっ付いてますが
いつ引っぺがされるかわかりません
-
自分がJava5なのか6なのか7なのかさえ分からんw
pinkもAV板以外は無事読み書きできてるからいいのか
-
>>536
困ってないなら気にするな
必要も無くjavaのバージョンをポンポン上げるなって話だ
-
以降は経緯的な話になるります
2015年にdatが2chAPI化されたときに一番乗り換え先になったのが
V2C-R 2.11.8だと思います
と時を同じくしてJava8が使いものになったと思われた時期だと思います
Java7もスクリプトエンジンがJava内蔵でくっ付いていたのでスクリプトを動かせたのですが
Java7からJava8の変更の一つに内蔵スクリプトエンジンの刷新がありました
どんくらい大きく変わったかというと
Java7はRhino(英語圏生まれのサイ)というスクリプトエンジンが内蔵されてましたが
Java8ではNashorn(ドイツ生まれのサイ)というスクリプトエンジンが内蔵されるように
刷新されました
ちょうどJava8使えるんじゃね?とV2C-R 2.11.8のタイミングが合ったとこともあって
V2C-R 2.11.8はNashornというスクリプトエンジンを使う方向に舵を切りました
(これが当時V2CのJava8対応と呼ばれたもの)
なので当時は
R2.11.8、R+、+、R3をJava8で動かすってことで
R2.11.8とその派生は安定状態でした
-
しかし平穏な日々は長く続きませんでした
Oracleは突如ユーザを裏切りました
鳴り物入りでJava8から導入したNashornを非推奨いずれは廃止すると言い出しました
(実際Java11で非推奨:但し現時点ではまだ使える、Java15?でJavaからNashornを削除)
なんで現時点でのJavaバージョンと内蔵スクリプトエンジンの関係は以下となります
(これはどのV2Cでも関係なく同じ状況)
Java5→スクリプトエンジンなし
Java6→Rhinoスクリプトエンジン
Java7→Rhinoスクリプトエンジン
Java8→Nashornスクリプトエンジン
Java11→Nashornスクリプトエンジン(非推奨)
Java17→スクリプトエンジンなし
なので>>529はJava8ではOKだけどJava17だとNGなんだと思います
-
ちなOracleは大きな裏切りをもう一つやっていて
同じくJava8で鳴り物入りで導入したJavaFXという画面作成機能をJava9でアッサリ捨てました
R3の広告表示機能はこのJavaFXにガッツリ依存してるので
このせいでR3はJava8でしか動かせない状況になってます
-
つまりJAVAはカプセル化しておけってことやな
-
とくにオチもなく終わってしまったんで
逆にじゃあなんで本家、MOD、Z、/2がJava8以上でもスクリプトを動かせるのかって話
V2CのJava8対応ってのは実際にはプログラムの中にベタで書き込まれている
RhinoをNashornに書きかえるって作業になるんですが
本家、MOD、Z、/2はその作業を行っていないのでJava8以上では
そのままではスクリプトを動かすことができません
ちょうど2015年のそのころにそれじゃ不味いってことで
本家をJava8で動かせるようにする機能を作った方がいました
https://v2c.mgmn.jp/wiki/?%E9%9D%9E%E5%85%AC%E5%BC%8F%E6%B4%BE%E7%94%9F%E7%89%88#s39f6e4d
ここから取り出したjs-engine.jarとhttps://github.com/mozilla/rhinoから取得したrhino.jarを
B11のzipに同梱してJava8に上げる時にB11と同じフォルダに置くようにして貰ってます
これは一度やればいいことなのであとは動かすJavaがJava11でもJava17でも
js-engine.jarとrhino.jarがB11と同じフォルダにあれば
特に意識をせずにスクリプトが動くようになってます
ちなJava5ですが探しまくって頑張りました
-
>>535でシンプルな解決方法としてJava8を使い続けてください
とは書きましたがちょっとめんどい解決法として一応こういうものは準備したりしてます
Java11はまだNashornが動くのでギリOKですがJava17にする場合は必須です
ただどのくらい使われてるか不明なのでバグが枯れてるかどうかがわかりません
----------------------------------------------------------------------------------------------------------------
http://jbbs.shitaraba.net/bbs/read.cgi/computer/43680/1613041676/410
410 : ◆g/UWZdwxag :2021/05/06(木) 14:37:39
V2C-R2.11.8系V2CのNashorn対応を戻すパッチ
要B11.28.6.8以上
v2c_r_backto_rhino.zip
https://www.dropbox.com/s/h27eifwyn1834sp/v2c_r_backto_rhino.zip?dl=1
V2C-R系(2.11.8、R+、+、3.4.2)ではスクリプトを動かすために
Nashornというエンジンを使っていますが
このNashornは
・Java16では廃止済み
・Java11では廃止予定
というステータスで将来完全廃止されるのを見越した対応です
Nashornが廃止されてもRhinoというエンジンを実装するrhino.jarとjs-engine.jarで
スクリプトは動くことは動くのですがその方法ではthreadld.jsやpost.jsが動かないとか
一部のスクリプトが動かないなどのケースが想定されます
(Rhinoの受け口とNashornの受け口が共存していてNashornの受け口が優先されるため)
それを回避するためにV2C-R系からNashornの受け口を無くすのがこのパッチです
(実際はNashorn対応の修正が入った箇所を本家の処理でパッチします)
使い方としてはzip内の
・v2c_r_backto_rhino.jar
・js-engine.jar
・rhino.jar
をB11パッチと同じフォルダに置いて下さい
(js-engine.jarとrhino.jarはv2c_api_patch_B11.28.6.8のと同じモノです)
尚Nashornの受け口が無くなるため、Nashorn対応で作ってあるSync2ch用の
v2c_sync_B11.txtは動作不安定となるので同じzip内のv2c_sync_B11_Rhino.txtを使って下さい
----------------------------------------------------------------------------------------------------------------
最後にv2c_sync関連で「v2c_sync_B11_Rhino.txtを使って下さい」とありますが
それは
http://jbbs.shitaraba.net/bbs/read.cgi/computer/43680/1545201173/479
479 :名無しさん@避難所 [sage] :2019/03/24(日) 10:59:08 ID:eMOOSc4w0 (1/6) [PC]
Sync2ch用 B11対応v2c_sync.txt(非公式修正版)
https://www.dropbox.com/s/2sk1sxde6rfumvo/v2c_sync_20190323.zip?dl=1
●Sync2chのv2c_sync.txtのB11対応の非公式修正版です
以下の2種類があります
v2c_sync_B11.txt
v2c_sync_B11_Rhino.txt
どちらを使うかわ、ソース内のヘッダでご確認下さい
●修正箇所
>>311に対して>>333の反映
>>333
ご連絡ありがとうございました
にあります
|
|
掲示板管理者へ連絡
無料レンタル掲示板