我已经安装在Oracle的Linux的Oracle WebLogic 11g和我试图完成使用JDeveloper11克Oracle的ADF教程。 当我运行我的项目是没有错误编译成功。 它开始将应用程序部署到WebLogic Server和我的默认网络浏览器中打开。 但随后出现的错误“500内部服务器错误”。
我收到以下错误:
java.lang.NoClassDefFoundError: Could not initialize class org.apache.myfaces.trinidadinternal.convert.ColorConverter at....
我研究了互联网,对于这个问题,我也问了一圈,并共同答案是,有一个与类路径的问题。 也许那些在JDeveloper中使用库不是在weblogic一样,那么该项目得到部署。
谁能告诉我们,如果肯定,问题是类路径? 而且我怎么能安装JDeveloper中部署它使用到WebLogic服务器的同一类路径?
java.lang.NoClassDefFoundError
意味着在类路径中类的运行时版本是不一样的,在编译时。
你的问题可能是类的多个版本在服务器部署被人发现。 我注意到类org.apache.myfaces.trinidadinternal.convert.ColorConverter
被发现trinidad-impl.jar
你可以搜索多少个这样的瓶子在运行时服务器环境加上你自己的web应用程序库被发现?
在Windows上,内置的jdev服务器此文件夹中运行
C:\用户\ <...> \应用程序数据\漫游\ JDeveloper中\ system11.1.1.4.37.59.23或类似的东西
你需要在这你的webapp / WEB-INF / lib目录,而不是在其他领域。
在我的本地我发现在C的Jar:\用户\ <...> \应用程序数据\漫游\的JDeveloper \ system11.1.1.4.37.59.23 \ o.j2ee.wlLibs \ JSP \千里Components1.2.war
我想你可以使用weblogic.xml中设置强制WEB-INF / lib目录类来获得加载优先于在服务器/ lib中有
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
这发生在你尝试加载试图加载另一个类,这是不是对的类路径。 找出哪些是由ColorConverter需要的类,并确保你有他们在你的类路径中。
首先:你在部署到服务器? 一个ADF JAR或WAR文件。 在你的情况 - 因为你没有安装的应用程序服务器上的任何依赖罐子。 你应该部署WAR文件。
在您查看项目 - 单击右键,选择项目属性。 然后去部署和编辑部署配置文件(如果没有在那里创建一个)。 确保勾选“从其他项目包括库”被选中。 (这是在库的依赖选项卡)。
此外,您也可能会发现一些有用的信息在这里 。
希望这可以帮助。 迈克尔
使用StackTrace
你可以找到classes
的缺失。我觉得你是缺少一些罐子,这应该是在你的classpath。