目前这是项目结构
+-- root
| +--- pom.xml //parent pom with <modules>
+-- module-web
+--- pom.xml //web module with <packaging>war</packaging>
以后是建议的项目结构:
+-- root
| +--- pom.xml //parent pom with <modules>
+-- module-a
| +--- pom.xml (what would be the packaging?)
+-- module-web
+--- pom.xml //web module with <packaging>war</packaging>
Spring安全代码位于module-web中。我需要捕获对localhost:8080 / reset的调用,这将显示忘记密码表单(html页面位于module-web的src / main / resources / template中)。这个具有提交按钮的忘记密码表单现在将调用一个rest api端点http://localhost:8080/api/v1/users/ {username} / password_reset,但是问题是@Controller注释类将捕获此调用应该在模块上 - 一个maven项目。这甚至可能吗?或者我错过了一些基本的东西?我对多模块maven项目的理解通常是web应用程序模块包含所有控制器,其他模块可能是一些共享类,比如一些模型的模块,也许是另一个非常具体的模块等。
答案 0 :(得分:0)
显然,我仍然缺乏对Maven,Spring Security等的正确认识。经过几天的阅读和尝试,我对此进行了整理。
它实际上很简单。
我想用作我的重置密码功能的终点的@Controller类位于另一个模块中,该模块是主Web应用程序的依赖项。这是通过maven打包成一个罐子。因为它是一个依赖项,它与主Web应用程序位于相同的上下文中。调用jar上的休息终点非常简单。好像终点是在主Web应用程序中创建的。我认为主Web应用程序中的端点在包装在jar中时是不同的(作为依赖项)。