回答編集履歴

6

実行結果追加

2023/05/29 18:46

投稿

jimbe
jimbe

スコア12760

test CHANGED
@@ -2,7 +2,29 @@
2
2
  eclipse は独自の環境でプログラムを実行できないさせますので単に環境変数に追加したのでは使えず、 eclipse に認識させる(登録する)必要があるかもしれません。
3
3
  どう操作するかは eclipse のバージョンによって異なるかもしれませんので、『eclipse 外部ライブラリ ネイティブライブラリ』等で検索してみてください。~~
4
4
 
5
+ 試してみた所では、 java17 準拠では例外が発生し、
6
+ ```
7
+ Exception in thread "main" java.lang.ExceptionInInitializerError
8
+ at teratail_java.q_b8nk3kmpbp2mq9.Textalgo.main(Textalgo.java:11)
9
+ Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private int java.lang.String.hash accessible: module java.base does not "opens java.lang" to unnamed module @448139f0
10
+ at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
11
+ at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
12
+ at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
13
+ at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
14
+ at com.eaio.stringsearch.StringSearch$3.run(StringSearch.java:509)
15
+ at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
16
+ at com.eaio.stringsearch.StringSearch.<clinit>(StringSearch.java:506)
17
+ ... 1 more
18
+ ```
5
- 試してみた所では、 java17 準拠では例外が発生し、 Java11 準拠ではワーニングが出ながらも結果は出ました。
19
+ Java11 準拠ではワーニングが出ながらも結果は出ました。
20
+ ```
21
+ WARNING: An illegal reflective access operation has occurred
22
+ WARNING: Illegal reflective access by com.eaio.stringsearch.StringSearch$3 (file:/F:/teratail/teratail/lib/stringsearch-1.2/stringsearch.jar) to field java.lang.String.hash
23
+ WARNING: Please consider reporting this to the maintainers of com.eaio.stringsearch.StringSearch$3
24
+ WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
25
+ WARNING: All illegal access operations will be denied in a future release
26
+ 6文字目
27
+ ```
6
28
  古めのライブラリですので、新しめの java では問題となるコードになってしまっているものと思われます。
7
29
  1.2 はそのような状態ですし、 2.2 はリンクが死んでいますし、使うには適さないのではないでしょうか。
8
30
 

5

修正

2023/05/29 18:39

投稿

jimbe
jimbe

スコア12760

test CHANGED
@@ -4,4 +4,5 @@
4
4
 
5
5
  試してみた所では、 java17 準拠では例外が発生し、 Java11 準拠ではワーニングが出ながらも結果は出ました。
6
6
  古めのライブラリですので、新しめの java では問題となるコードになってしまっているものと思われます。
7
+ 1.2 はそのような状態ですし、 2.2 はリンクが死んでいますし、使うには適さないのではないでしょうか。
7
8
 

4

全面修正

2023/05/29 18:36

投稿

jimbe
jimbe

スコア12760

test CHANGED
@@ -1,3 +1,7 @@
1
- classpath というのは環境変数のことでしょうか。
1
+ ~~classpath というのは環境変数のことでしょうか。
2
2
  eclipse は独自の環境でプログラムを実行できないさせますので単に環境変数に追加したのでは使えず、 eclipse に認識させる(登録する)必要があるかもしれません。
3
- どう操作するかは eclipse のバージョンによって異なるかもしれませんので、『eclipse 外部ライブラリ ネイティブライブラリ』等で検索してみてください。
3
+ どう操作するかは eclipse のバージョンによって異なるかもしれませんので、『eclipse 外部ライブラリ ネイティブライブラリ』等で検索してみてください。~~
4
+
5
+ 試してみた所では、 java17 準拠では例外が発生し、 Java11 準拠ではワーニングが出ながらも結果は出ました。
6
+ 古めのライブラリですので、新しめの java では問題となるコードになってしまっているものと思われます。
7
+

3

修正

2023/05/29 17:45

投稿

jimbe
jimbe

スコア12760

test CHANGED
@@ -1,3 +1,3 @@
1
1
  classpath というのは環境変数のことでしょうか。
2
2
  eclipse は独自の環境でプログラムを実行できないさせますので単に環境変数に追加したのでは使えず、 eclipse に認識させる(登録する)必要があるかもしれません。
3
- どう操作するかは eclipse のバーチャルによって異なるかもしれませんので、『eclipse 外部ライブラリ ネイティブライブラリ』等で検索してみてください。
3
+ どう操作するかは eclipse のバージョンによって異なるかもしれませんので、『eclipse 外部ライブラリ ネイティブライブラリ』等で検索してみてください。

2

追加

2023/05/29 17:44

投稿

jimbe
jimbe

スコア12760

test CHANGED
@@ -1,3 +1,3 @@
1
1
  classpath というのは環境変数のことでしょうか。
2
2
  eclipse は独自の環境でプログラムを実行できないさせますので単に環境変数に追加したのでは使えず、 eclipse に認識させる(登録する)必要があるかもしれません。
3
- どう操作するかは eclipse のバーチャルによって異なるかもしれませんので、『eclipse 外部ライブラリ』等で検索してみてください。
3
+ どう操作するかは eclipse のバーチャルによって異なるかもしれませんので、『eclipse 外部ライブラリ ネイティブライブラリ』等で検索してみてください。

1

修正

2023/05/29 17:34

投稿

jimbe
jimbe

スコア12760

test CHANGED
@@ -1,3 +1,3 @@
1
1
  classpath というのは環境変数のことでしょうか。
2
- eclipse は独自の環境でプログラムを実行できないさせますので単に環境変数に追加したのでは使えず、 eclipse に認識させる(登録する)必要があ
2
+ eclipse は独自の環境でプログラムを実行できないさせますので単に環境変数に追加したのでは使えず、 eclipse に認識させる(登録する)必要があるかもしれせん
3
3
  どう操作するかは eclipse のバーチャルによって異なるかもしれませんので、『eclipse 外部ライブラリ』等で検索してみてください。