回答編集履歴

1

1/1の追加質問コメントを踏まえた追記

2022/01/01 09:29

投稿

saka1
saka1

スコア28

test CHANGED
@@ -21,3 +21,79 @@
21
21
 
22
22
 
23
23
  解決の方針としては、依存しているもののjarを順番に集めてきてクラスパスに足すとか、そもそも依存関係を管理してくれるビルドツールを使うことになるのかなと(例えばGradleやMavenですが、記憶がかなり怪しいものの、もしかするとEclipse標準で組み込まれているかもしれません)。
24
+
25
+
26
+
27
+ ### 2022/01/01: コメントを踏まえた追記
28
+
29
+
30
+
31
+ > 追加での質問となり大変恐縮ですが「解決の方針としては、依存しているもののjarを順番に集めてきてクラスパスに足す」とのご教示にたいして、commons-lang3-3.12.0.jarなどのJarファイルをネットよりダウンロードし、これらをプロジェクトフォルダのlibディレクトリに配置し、Eclipseにてクラスパスに指定いたしました。
32
+
33
+ ここまでのアプローチとしてはご教授いただいたこと実行できておりますでしょうか?(なぜかEclipse実行時に「クラスパスによって参照されているアーカイブは存在しない」旨のエラーが発生したため、理解しやろうとしていること自体が間違っていないかの確認となります。)
34
+
35
+
36
+
37
+
38
+
39
+ commons-lang3のjarをダウンロードしてきてクラスパスに足す、という大まかな方針は妥当なように思います。libディレクトリに配置するものなのかは、またエラーの内容については、プロジェクトの個別設定などあると思いますので、ちょっとわかりかねます。
40
+
41
+
42
+
43
+ 提示のソースを改変した上で、コマンドラインにて簡単に動作確認しました。やはり方針自体に問題はなさそうでcommons-lang3さえ足せば少なくとも表面的には動作しそうです。あとはEclipseの設定が何か変とかそういう話になるのかなと。
44
+
45
+
46
+
47
+ ```console
48
+
49
+ $ ls
50
+
51
+ commons-lang3-3.12.0.jar opencsv-5.5.2.jar sample.csv SampleClass.class SampleClass.java
52
+
53
+ $ cat sample.csv
54
+
55
+ a,b,c
56
+
57
+ 1,2,3
58
+
59
+ $ cat SampleClass.java
60
+
61
+ import java.nio.file.Files;
62
+
63
+ import java.nio.file.Paths;
64
+
65
+ import java.util.Arrays;
66
+
67
+
68
+
69
+ import com.opencsv.CSVReader;
70
+
71
+
72
+
73
+ public class SampleClass {
74
+
75
+ public static void main(String[] args) throws Exception {
76
+
77
+ CSVReader reader = new CSVReader(Files.newBufferedReader(Paths.get("sample.csv")));
78
+
79
+ String[] cellLine;
80
+
81
+ while((cellLine = reader.readNext()) != null) {
82
+
83
+ System.out.println(Arrays.toString(cellLine));
84
+
85
+ }
86
+
87
+ }
88
+
89
+ }
90
+
91
+ $ javac -cp opencsv-5.5.2.jar SampleClass.java
92
+
93
+ $ java -cp opencsv-5.5.2.jar:commons-lang3-3.12.0.jar:./ SampleClass
94
+
95
+ [a, b, c]
96
+
97
+ [1, 2, 3]
98
+
99
+ ```