gpt4 book ai didi

java - 如何让eclipse在打开时将依赖的maven项目部署到tomcat?

转载 作者:行者123 更新时间:2023-11-30 12:06:55 31 4
gpt4 key购买 nike

主要问题:

当依赖项也在 eclipse 中作为姐妹项目打开时,是否有其他人在部署到 tomcat 时遇到问题?

故事:

带有 Maven 插件的 Eclipse 足够智能,可以自动调整配置的部署程序集部分,这意味着如果您的 Web 项目中有依赖项并且它也在 Eclipse 中打开,那么您将获得(除其他外)两个部署程序集列表中的条目:

  • 一个引用姊妹项目并输出到 WEB-INF/lib/sister-project-1.0.0-SNAPSHOT.jar

  • 第二个引用输出到 WEB-INF/lib/

  • 的常用 Maven Dependencies 条目

但这似乎不起作用:/IE。来自姊妹项目的 jar 未构建/部署到 tomcat 服务器,这当然会导致旧的 ClassNotFoundException

现在,在过去,我发誓这行得通,但出于某种原因,它在“当前”中行不通? eclipse 版本(我正在运行 Version: 2018-09 (4.9.0))。

当前的解决方法:

相反,您在姊妹项目上运行快速 maven-install,然后关闭该项目。这使得 eclipse 意识到它需要将此依赖项作为常规 Maven 依赖项(从您的本地 .m2)引入,并且由于您刚刚将它安装在那里,它具有最新版本的代码。

部署程序集会自动更新,并且只有:

  • 引用通常输出到 WEB-INF/lib/
  • 的 Maven Dependencies 条目的条目

(如预期的那样删除了项目引用)。

在这种情况下,它会继续查找 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/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com