したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

B11 と readcgi.js のスレ#17 @避難所

1名無しさん@避難所:2023/04/07(金) 18:16:02 ID:5QVKiqpE0
前スレ
B11 と readcgi.js のスレ#16 @避難所
http://jbbs.shitaraba.net/bbs/read.cgi/computer/43680/1672829512/

533 ◆g/UWZdwxag:2023/05/27(土) 18:41:04 ID:vgPwvV9k0
さて

大前提として今後は
Java5、Java6、Java7、Java8(LTS)、Java11(LTS)、Java17(LTS)
のみをフォローの対象とします
それ以外のバージョンのJavaに関しては使うのは自由ですが
なんか起きても首は突っ込みません

534名無しさん@避難所:2023/05/27(土) 18:46:48 ID:vgPwvV9k0

>>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
に限定した話になります

535名無しさん@避難所:2023/05/27(土) 19:01:12 ID:vgPwvV9k0
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にも今のところかろうじてスクリプトエンジンがくっ付いてますが
いつ引っぺがされるかわかりません

536名無しさん@避難所:2023/05/27(土) 19:09:37 ID:WwH/hfGk0
自分がJava5なのか6なのか7なのかさえ分からんw
pinkもAV板以外は無事読み書きできてるからいいのか

537名無しさん@避難所:2023/05/27(土) 19:22:54 ID:rtA2XGus0
>>536
困ってないなら気にするな
必要も無くjavaのバージョンをポンポン上げるなって話だ

538名無しさん@避難所:2023/05/27(土) 19:26:14 ID:vgPwvV9k0
以降は経緯的な話になるります

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とその派生は安定状態でした

539名無しさん@避難所:2023/05/27(土) 19:43:55 ID:vgPwvV9k0
しかし平穏な日々は長く続きませんでした
Oracleは突如ユーザを裏切りました
鳴り物入りでJava8から導入したNashornを非推奨いずれは廃止すると言い出しました
(実際Java11で非推奨:但し現時点ではまだ使える、Java15?でJavaからNashornを削除)

なんで現時点でのJavaバージョンと内蔵スクリプトエンジンの関係は以下となります
(これはどのV2Cでも関係なく同じ状況)

Java5→スクリプトエンジンなし
Java6→Rhinoスクリプトエンジン
Java7→Rhinoスクリプトエンジン
Java8→Nashornスクリプトエンジン
Java11→Nashornスクリプトエンジン(非推奨)
Java17→スクリプトエンジンなし

なので>>529はJava8ではOKだけどJava17だとNGなんだと思います

540名無しさん@避難所:2023/05/27(土) 19:48:45 ID:vgPwvV9k0
ちなOracleは大きな裏切りをもう一つやっていて
同じくJava8で鳴り物入りで導入したJavaFXという画面作成機能をJava9でアッサリ捨てました

R3の広告表示機能はこのJavaFXにガッツリ依存してるので
このせいでR3はJava8でしか動かせない状況になってます

541名無しさん@避難所:2023/05/27(土) 20:15:52 ID:K0yy36XA0
つまりJAVAはカプセル化しておけってことやな

542名無しさん@避難所:2023/05/27(土) 20:18:13 ID:vgPwvV9k0
とくにオチもなく終わってしまったんで
逆にじゃあなんで本家、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ですが探しまくって頑張りました

543名無しさん@避難所:2023/05/27(土) 21:29:04 ID:vgPwvV9k0
>>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
ご連絡ありがとうございました



にあります




掲示板管理者へ連絡 無料レンタル掲示板