Bla*_*man 5 scala spring-mvc intellij-idea maven tomcat7
我的项目在IntelliJ中编译得很好,它是一个用scala编写的简单spring-mvc.
当我使用tomcat运行它时出现此错误:
java.lang.NoClassDefFoundError: org/example/houses/SomeClassNameHere
Run Code Online (Sandbox Code Playgroud)
以上不是我的图书馆的确切名称.
我的控制器看起来像:
package com.example.scalacms.web.controllers
import org.springframework.stereotype.Controller
import org.springframework.web.bind.annotation.{ResponseBody, RequestMapping}
import org.example.house
@Controller
class HomeController {
var houses: Houses = _
@RequestMapping(Array("/"))
@ResponseBody
def index: String = {
"hello, world!"
}
}
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为它在IntelliJ中编译得很好,它在智能感知系统中学习了我所有的课程.
可能是tomcat在我的类路径中没有库吗?我正在使用爆炸的神器.
我无法在输出窗口的任何地方看到类路径,所以我无法确认.
更新
所以我查看了/out/artifacts/myapp_web_war_exploded/WEB-INF/lib,我没有看到那里的jar文件.为什么jar不包含在部署中?如何将它包含在intellij中?
如果它是一个maven WAR项目,检查jar是否被标记为排除provided在pom中,或者在pom 中的范围内,因为任何一个都会从WAR中删除jar.
如果不是这种情况,请转到命令行到pom WAR所在的目录,然后执行mvn dependency:tree并确认您的jar确实在那里.
如果jar在那里,则意味着它只能是IDE相关的问题.请尝试以下步骤:
小智 1
我不知道在 intellij 中,但在 Eclipse 中,当您部署并使用 Maven 时,有时会出现您未在部署程序集中包含 Maven 依赖项的情况
看这个:Maven 依赖项在 WEB-INF/lib 中不可见
| 归档时间: |
|
| 查看次数: |
2136 次 |
| 最近记录: |