部署播放框架 1.2.5 应用程序时出现 LinkageError

Posted

技术标签:

【中文标题】部署播放框架 1.2.5 应用程序时出现 LinkageError【英文标题】:LinkageError with deployment of play framework 1.2.5 application 【发布时间】: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 模式下运行,没有任何问题。 【参考方案1】:

尝试在 application.conf 中使用 Prod 模式并检查在预编译期间是否收到更详细的错误消息。此外,替换您的部署甚至播放目录可能会有所帮助(尽管在我的情况下这并不能解决问题)。希望对您有所帮助。

【讨论】:

以上是关于部署播放框架 1.2.5 应用程序时出现 LinkageError的主要内容,如果未能解决你的问题,请参考以下文章

mpdf 文件 laravel 5.8 , 播放某些pdf文件而其他正常播放时出现错误 使用框架laravel执行

在iPod上部署时出现“无效的权利”错误

使用 JDK 1.7 运行播放应用程序时出现 UnsupportedClassVersionError

使用 AVAudioPlayer 播放声音时出现问题?

在邮件程序中使用 REST-ful link_to 时出现问题

同时播放两个 AVPlayer 音频文件时出现音频故障