Details
-
Feature Request
-
Status: Under Review
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
Description
It's notoriously hard to locate compiler errors in JSPs, due to the very generic error reporting: Often the name of the JSP isn't reported and one will have to dig into the system. While this shouldn't happen in production systems, but only in development systems, "shouldn't" is the keyword here. It can happen due to different JDK versions, different dependencies deployed, or other reasons. A good example is https://liferay.dev/forums/-/message_boards/message/118328342 (which references LPS-107983)
Feature request: There are places where Liferay's code is in a good position to enrich potential error messages with file names, potentially classloader information (for resolving bundles, but I'm not 100% sure on that). Anything added to error messages helps.
One position I've found is
JarJavaFileObject.openInputStream() (from the linked message board post), another candidate is JspCompiler.compile(), which has a debug log with a classname a few lines up that might help in case of an error. Certainly, someone with more knowledge around this area of the code can rule out those places and/or find better locations to inject more information into the error messages.
Speaking of debug log: I know It's possible to log all the compilation on debug level - but all of them aren't interesting. This issue is about getting more data in case of a compilation error, without changing any log levels.