実現したいこと
javaの初学者です。
Eclipseを用いてjavaの外部ライブラリをダウンロードして使いたいんですがうまくいきません。
利用する外部ライブラリ StringSearch
以下の記事を参考にしています。
https://news.mynavi.jp/techplus/article/techp1290/
https://news.mynavi.jp/techplus/article/techp1291/
前提
まずstringsearch-1.2をダウンロードして解凍し、上の記事の通りclasspathにstringsearch.jarファイルを入れました。
発生している問題・エラーメッセージ
Exception in thread "main" java.lang.ExceptionInInitializerError at Textalgo.main(Textalgo.java:8) 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 @33c7353a at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:387) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:363) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:311) at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:181) at java.base/java.lang.reflect.Field.setAccessible(Field.java:175) at com.eaio.stringsearch.StringSearch$3.run(StringSearch.java:509) at java.base/java.security.AccessController.doPrivileged(AccessController.java:319) at com.eaio.stringsearch.StringSearch.<clinit>(StringSearch.java:506) ... 1 more
該当のソースコード
java
1import com.eaio.stringsearch.*; 2public class Textalgo { 3 public static void main(String[] args) { 4 5 String text = "こんにちは世界。新世界へようこそ。"; 6 String pattern = "世界"; 7 // StringSearchオブジェクトの生成 8 StringSearch search = new BoyerMooreHorspoolRaita(); 9 // 検索の実行 10 int x = search.searchString(text, pattern); 11 System.out.println(x+1 + "文字目"); 12 } 13} 14
試したこと
上の記事だと最初のインポートはないんですがそのようにするとStringSearch型を宣言する段階で
Exception in thread "main" java.lang.Error: Unresolved compilation problems: StringSearch cannot be resolved to a type BoyerMooreHorspoolRaita cannot be resolved to a type at Textalgo.main(Textalgo.java:8)
というエラーが出てきてうまくいきません。
補足情報(FW/ツールのバージョンなど)
jdk-20を利用しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/05/30 02:00