在dubbo官网克隆了dubbo-admin-backend项目,打包成war包放到tomcat下启动,启动时报错,错误信息如下:
stack: java.lang.NoClassDefFoundError: javassist/ClassPool
java.lang.NoClassDefFoundError: javassist/ClassPool
at org.apache.dubbo.common.compiler.support.JavassistCompiler.doCompile(JavassistCompiler.java:54)
at org.apache.dubbo.common.compiler.support.AbstractCompiler.compile(AbstractCompiler.java:59)
......
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243)
at org.apache.dubbo.admin.DubboAdminApplication.main(DubboAdminApplication.java:30)
Caused by: java.lang.ClassNotFoundException: javassist.ClassPool
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 64 more
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:729) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
......
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.apache.dubbo.admin.DubboAdminApplication.main(DubboAdminApplication.java:30) [classes/:na]
经过一番探索,终于找到解决办法,即在pom文件中加上如下依赖:
...
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.20.0-GA</version>
</dependency>
...
重新打包,在tomcat8.5下成功启动项目。