Liferay 7 has been modularized to a great extend, so the most of the JSPs you might want to override are no longer in Liferay's core. Being modularized, Liferay 7 comes with a modular approach to override the core JSP. In this blog, I'm going to override the Login JSP.
Before override the JSP, you must know the fragment name and the version for that module. I've written this blog to get the detail about Login module.
To override a JSP you have to create a 'Liferay Workspace Project' and a module to override JSP. Follow this blog to create a module project under liferay workspace.
Once done, open the gradle.properties file in your 'Liferay Workspace Project' and configure that for all modules.
Specify your workspace home directory and liferay home directory if you are handling server from other tool like terminal. Specify your environment, as I uncommented the lines and set 'local' environment. You can configure your local environment by updating properties in 'Liferay Workspace Project' by editing file 'evon-module->configs->local->portal-ext.properties'.
The 'Liferay Workspace Project' is configured now. Now open your module under the workspace project. (Check this if any confusion in workspace project and module.) Please follow the steps below to override Login JSP.
1) Open bnd.bnd file and add the following lines -
Please make sure, Fragment-Host and bungle-version must match to installed module's actual host and version found in this blog.
Create login.jsp file in src/main/resources/META-INF/resources/ under your directory structure. You can delete the init.jsp and view.jsp because these will not be in used now. Please delete the portlet class or package in src/main/java as well. I suggested to delete the java/jsp files because we are overriding the JSP with a specific name.