我有一个用Eclipse编写的Java EE Web应用程序,并部署在WebLogic上。
当我从Eclipse(作为虚拟应用程序)部署它时,它工作正常。当我尝试创建EAR文件并从WebLogic控制台部署它时,我得到ClassNotFoundException
。
可能是什么原因?
如何创建一个与虚拟应用程序结构相匹配的EAR文件,以便它可以工作?
答案 0 :(得分:0)
通常这意味着未部署依赖库。这往往是Eclipse具有依赖性的地方,它作为内部构建的一部分来实现。在自己构建它时,请确定您需要哪些库,哪些库是您的应用程序的一部分,哪些是WebLogic的一部分。对于您自己的库(即lib文件夹中的那些库或者应该位于lib文件夹中的库),请确保它们位于类路径中。对于外部库,即那些WebLogic满足,请确保您具有相应的模式描述符设置,以告诉weblogic它需要与您的应用程序一起部署哪些库(通常是JSF之类的东西)。
如果您想要对构建进行适当的控制,请查看Ant之类的内容。你基本上通过xml告诉它需要什么,把它放在一起,然后它为你生成Ear / Jar文件(包含所有依赖项的Ear文件,和/或用于库中内置weblogic的描述符)。 p>
如果您计划构建多个版本,我会在安装后发现Ant很有用(您也可以将其与其他程序联系起来,因此它可以将构建作为标记,构建文档等推送到源代码管理服务器)。 Ant可能很痛苦 - 你需要为你需要构建的每个库构建描述符,以及Ear文件。