0

jar ファイルから実行時にいくつかのクラスをロードする必要がありますが、試行するたびに ClassNotFoundException が発生します。jar コマンドを使用して jar ファイルを作成しました。さらに、プロトコル バッファ メッセージから person クラスが生成されます。

プロトコル バッファ msg の内容:

package testing;
option java_outer_classname = "AddressBookProtos";
option java_package = "com.sample";

message AddressBook {
  repeated Persons person = 1;
}

message Persons {
    required string name =1;
}

スカラファイル:

object loaderTest extends App {

val classLoader = new URLCLassLoader(Array(new File("C:\\TEMP\\address.jar").toURI.toURL), this.getClass().getClassLoader())

val personClass = classLoader.loadClass("com.sample.AddressBookProtos$Persons")

}

スレッド「メイン」での例外 java.lang.ClassNotFoundException: com.sample.AddressBookProtos$Persons at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java. net.URLClassLoader.findClass(URLClassLoader.java:190) で java.lang.ClassLoader.loadClass(ClassLoader.java:306) で java.lang.ClassLoader.loadClass(ClassLoader.java:247) で com.ms.qaTools.protobuf .specs.loaderTest$delayedInit$body.apply(loaderTest.scala:34) で scala.Function0$class.apply$mcV$sp(Function0.scala:34) で scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0 .scala:12) で scala.App$$anonfun$main$1.apply(App.scala:60) で scala.App$$anonfun$main$1.apply(App.scala:60) で scala.collection.LinearSeqOptimized$ でclass.foreach(LinearSeqOptimized.scala:59) scala.collection.immutable.List.foreach(List.scala:76) で scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:30) で scala.App$class.main(App.scala :60) com.ms.qaTools.protobuf.specs.loaderTest$.main(loaderTest.scala:10) で com.ms.qaTools.protobuf.specs.loaderTest.main(loaderTest.scala) で

4

0 に答える 0