2017-04-25 69 views
0

我正在部署一个web应用程序jre7 on wildfly9。在我的应用程序中,我具有将图像从服务器返回到客户端的功能。我首先从该位置获取该图像,然后使用ByteOutputStream将其转换为字节[]。我有NoClassFoundException for ByteOutputStream while ByteOutputStream is jre7 class and exists in rt.jar。我的代码在本地tomcat7服务器上正常工作。NoClassFoundException:对于ByteOutputStream

+0

确保你正在建造的罐子是优步/阴影罐子。 – AmanSinghal

回答

0

当你编译你的应用程序时,你需要在你的开发环境编译类路径中有你的应用程序使用/引用的类,如果你不这样做,那么会发生编译时错误。 当您运行已编译的应用程序时,您需要让应用程序在您的JVM类路径中使用/所引用的所有类,或者包含在您的应用程序包中,如果您不这样做(那样做),则会发生运行时错误。

因此,确保在构建jar时打包所有依赖关系。

+0

该罐子不是由我添加的。它是jre7中的内置jar。我也检查了我的服务器rt.jar存在的jre7文件夹以及ByteOutputStream类。 –

+0

你好我已经通过为ByteOutputStream添加一个外部jar解决了这个问题。但不明白为什么wildfly没有在rt.jar本身中找到唯一的类,我可以在tomcat 7服务器中这样做。 –