部署播放框架 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执行
使用 JDK 1.7 运行播放应用程序时出现 UnsupportedClassVersionError