- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
主要问题:
当依赖项也在 eclipse 中作为姐妹项目打开时,是否有其他人在部署到 tomcat 时遇到问题?
故事:
带有 Maven 插件的 Eclipse 足够智能,可以自动调整配置的部署程序集部分,这意味着如果您的 Web 项目中有依赖项并且它也在 Eclipse 中打开,那么您将获得(除其他外)两个部署程序集列表中的条目:
一个引用姊妹项目并输出到 WEB-INF/lib/sister-project-1.0.0-SNAPSHOT.jar
第二个引用输出到 WEB-INF/lib/
但这似乎不起作用:/IE。来自姊妹项目的 jar 未构建/部署到 tomcat 服务器,这当然会导致旧的 ClassNotFoundException
。
现在,在过去,我发誓这行得通,但出于某种原因,它在“当前”中行不通? eclipse 版本(我正在运行 Version: 2018-09 (4.9.0)
)。
当前的解决方法:
相反,您在姊妹项目上运行快速 maven-install,然后关闭该项目。这使得 eclipse 意识到它需要将此依赖项作为常规 Maven 依赖项(从您的本地 .m2)引入,并且由于您刚刚将它安装在那里,它具有最新版本的代码。
部署程序集会自动更新,并且只有:
WEB-INF/lib/
(如预期的那样删除了项目引用)。
在这种情况下,它会继续查找 jar 作为其他 Maven 依赖项的一部分,并愉快地将其部署到服务器。
我的一个理论是,希望姐妹项目(打开时)的输出为 .jar 是错误的,应该/可以将其路由到 WEB-INF/classes/
以及当前项目的类文件。
另一个类似的理论是,在 eclipse 无法从中获取 .jar 文件以输出的姊妹项目中有些东西很奇怪。
希望其他人以前遇到过同样的情况。 :)
最佳答案
对我来说,这在 eclipse 2018-12 中按预期工作,也在 2018-09 中工作:在工作区中打开时的依赖项构建为 .jar
并部署到 WEB-INF/lib
.
您应该为每个参与的项目检查一个设置:
Project properties (Alt+Return) -> Maven -> [x] Resolve dependencies from Workspace projects
,
当事情变得奇怪时,它也经常有助于进行 Maven 项目更新:
打开项目上下文菜单 -> Maven -> 更新项目 -> 全部
。
关于java - 如何让eclipse在打开时将依赖的maven项目部署到tomcat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55250697/
我是一名优秀的程序员,十分优秀!