我正在尝试在 tomcat 下运行 scala 应用程序,每当我使用标准的 java 东西时,我似乎还可以。但是,当我执行诸如字符串连接或序列生成之类的操作时,我会收到 NoClassDefFound 的奇怪错误...
我的第一个想法是我没有将所需的 scala-library jar 放在正确的目录中,或者我需要做一些额外的配置来让我的 servlet 知道外部依赖。我尝试将 scala-library.jar 放在 tomcat6“lib”目录和 ROOT/WEB-INF/lib 下,但似乎都不允许我的 servlet 使用 jar 中的类。这是怎么回事?
在启动 tomcat 之前,检查 CLASSPATH 环境变量是否包含 scala-library.jar 文件的路径。
如果将 scala-library.jar 放入 JRE/lib/ext 目录,应该可以。这当然是运行 Tomcat 的 JRE。这将scala放在“默认类加载器”而不是Tomcats类加载器中......理论上,应该可以解决您的问题。实际上,这与 Tom O'Connors 的回答相同,只是我告诉你为什么你得到类未找到错误:因为自定义类加载器。