回答編集履歴

1

追記

2017/06/14 12:32

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -5,3 +5,23 @@
5
5
 
6
6
 
7
7
  原因がおわかりのような気がするのですがURLClassLoaderとしなければならない理由があればそれを明記されたほうがよいと思います。
8
+
9
+
10
+
11
+ ---
12
+
13
+
14
+
15
+ 追記:コメントを拝見して感じたことを整理します。
16
+
17
+
18
+
19
+ コメントを拝見すると、URLClassLoaderを仮定したい動機がURLClassLoader#addURLを使うことのようです。それをするということはJVM起動時にクラスパスへ存在していなかったパスを「あたかも初めからクラスパスへ指定していたかのように追加したい」ということのように思えました。
20
+
21
+
22
+
23
+ そこが自分には疑問でした。JVM起動時にクラスパスへ必要なパスを指定すれば済むように思えるのですが、なぜ起動後に動的に追加するという面倒な方法を使う必要があるのかがわかりません。例えばサーバープログラムのようなものだとJVMを停止しないままで動的にコンフィギュレーションを切り替えるといったことが必要な場面があるのかも知れないと想像しますが、JVMを停止させないということは稼働中のサービスを止めたくないという意図があるのだとして、プログラムを動かしたままクラスパスを動的に変更するということが安全にできるものだろうかという疑問がわいてくるのです。
24
+
25
+
26
+
27
+ サーバーに関しては自分に経験が乏しいために「ほしい場面」を想定することができないだけなのかも知れませんが・・・