【发布时间】:2013-05-08 00:10:31
【问题描述】:
Play framework 1.2.5 已经安装在 ubuntu 11 服务器上。我停止了这个过程,运行 play clean,然后部署了新的应用程序(从那以后我也运行了几次 play clean,但没有任何运气)。我不断收到 LinkageErrors 并且应用程序正在为不同类的对象抛出类转换异常。任何有助于查明导致问题的原因以及如何最好地解决问题的建议 - 提前致谢。
Oops: LinkageError
An unexpected error occured caused by exception LinkageError: loader (instance of play/classloading/ApplicationClassloader): attempted duplicate class definition for name: "models/testModel/TestClass"
播放框架的参考仍然设置在系统路径中。我正在使用“播放开始”来运行应用程序。
【问题讨论】:
-
我会尝试运行,看看行为是否有所不同。
-
我没有观察到与运行命令有任何区别。我可以在我的本地计算机和另一台服务器上运行相同的包。环境似乎相同(相同的操作系统版本、JDK 版本等)
-
我没有尝试清理框架目录中的任何内容-查看替换播放目录以查看是否可以修复它。稍后将查看框架目录,看看我是否可以更改任何内容来解决此问题。
-
即使更换播放目录并重新启动服务器也没有解决问题 - 我在另外两台服务器上没有看到同样的问题(我现在收到新的链接错误,而不是以前的错误)
-
我将模式切换到 prod(这仍然是一个测试服务器,所以我想使用 Dev) - 这次我能够在 prod 模式下获得更详细的错误消息(它抱怨模板甚至没有被使用,但没有从模板目录中清除——不确定这是否也发生在 Dev 上,因为相同的部署在另一台服务器上工作)。该应用程序在 prod 模式下运行良好,它在本地运行,另一个测试服务器在 Dev 模式下运行,没有任何问题。