当我尝试运行命令' play run'时,我遇到了一些类路径问题,但是当我使用' play start'一切都像魅力一样。
一些背景知识 我正在尝试使用Avro Serialization作为Play应用程序创建一个Kafka Producer。
我正在使用TypeSafe配置库将属性传递给Kafka Producer。一些属性是关于序列化程序类,键序列化程序类,分区程序类。
文件夹结构
基地 - 控制器 - KafkaProducer - Util - 序列化器 - A级 - B级
类的包结构是com.abc.xyz.KafkaProducer,com.abc.qwer.classA等。
我已经确认在目标文件夹中生成了各自的类。
我使用' play run'启动应用程序。当生成器尝试加载相应的类时,它会抛出ClassNotFoundException。
! Internal server error, for (POST) [/publish/topic1] ->
java.lang.ExceptionInInitializerError: null
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$2$$anonfun$apply$4.apply(routes_routing.scala:61) ~[na:na]
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$2$$anonfun$apply$4.apply(routes_routing.scala:61) ~[na:na]
at play.core.Router$HandlerInvoker$$anon$6.call(Router.scala:170) ~[play_2.10-2.2.4.jar:2.2.4]
at play.core.Router$Routes$class.invokeHandler(Router.scala:375) ~[play_2.10-2.2.4.jar:2.2.4]
at Routes$.invokeHandler(routes_routing.scala:15) ~[na:na]
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$2.apply(routes_routing.scala:61) ~[na:na]
Caused by: java.lang.ClassNotFoundException: com.abc.qwer.classA
at java.net.URLClassLoader$1.run(URLClassLoader.java:202) ~[na:1.6.0_65]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.6.0_65]
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) ~[na:1.6.0_65]
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) ~[na:1.6.0_65]
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ~[na:1.6.0_65]
at java.lang.Class.forName0(Native Method) ~[na:1.6.0_65]
[error] application - Error while rendering default error page
scala.MatchError: java.lang.ExceptionInInitializerError (of class java.lang.ExceptionInInitializerError)
at play.api.GlobalSettings$class.onError(GlobalSettings.scala:131) ~[play_2.10-2.2.4.jar:2.2.4]
at play.api.DefaultGlobal$.onError(GlobalSettings.scala:189) [play_2.10-2.2.4.jar:2.2.4]
at play.core.server.Server$class.logExceptionAndGetResult$1(Server.scala:73) [play_2.10-2.2.4.jar:2.2.4]
at play.core.server.Server$$anonfun$getHandlerFor$4.apply(Server.scala:83) [play_2.10-2.2.4.jar:2.2.4]
at play.core.server.Server$$anonfun$getHandlerFor$4.apply(Server.scala:81) [play_2.10-2.2.4.jar:2.2.4]
at scala.util.Either$RightProjection.flatMap(Either.scala:523) [scala-library.jar:na]
当我使用' play start'。一切正常。
任何帮助将不胜感激。感谢。