[
https://issues.apache.org/jira/browse/WW-5383?focusedWorklogId=897881&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-897881
]
ASF GitHub Bot logged work on WW-5383:
--------------------------------------
Author: ASF GitHub Bot
Created on: 03/Jan/24 13:14
Start Date: 03/Jan/24 13:14
Worklog Time Spent: 10m
Work Description: sepe81 commented on code in PR #830:
URL: https://github.com/apache/struts/pull/830#discussion_r1440439457
##########
plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java:
##########
@@ -438,30 +471,26 @@ private UrlSet buildUrlSet(List<URL> resourceUrls) throws
IOException {
}
//try to find classes dirs inside war files
- urlSet = urlSet.includeClassesUrl(classLoaderInterface, new
UrlSet.FileProtocolNormalizer() {
- public URL normalizeToFileProtocol(URL url) {
- return fileManager.normalizeToFileProtocol(url);
- }
- });
-
+ urlSet = urlSet.includeClassesUrl(classLoaderInterface, url ->
fileManager.normalizeToFileProtocol(url));
urlSet = urlSet.excludeJavaExtDirs()
- .excludeJavaEndorsedDirs()
- .excludeUserExtensionsDir();
+ .excludeJavaEndorsedDirs()
+ .excludeUserExtensionsDir();
try {
- urlSet = urlSet.excludeJavaHome();
+ urlSet = urlSet.excludeJavaHome();
} catch (NullPointerException e) {
- // This happens in GAE since the sandbox contains no java.home
directory
- LOG.warn("Could not exclude JAVA_HOME, is this a sandbox jvm?");
+ // This happens in GAE since the sandbox contains no java.home
directory
+ LOG.warn("Could not exclude JAVA_HOME, is this a sandbox jvm?");
}
urlSet = urlSet.excludePaths(System.getProperty("sun.boot.class.path",
""));
urlSet = urlSet.exclude(".*/JavaVM.framework/.*");
if (includeJars == null) {
- urlSet = urlSet.exclude(".*?\\.jar(!/|/)?");
+ LOG.debug("\"{}\" is not defined, excluding all JAR files!",
ConventionConstants.CONVENTION_ACTION_INCLUDE_JARS);
+ urlSet = urlSet.exclude(EXCLUDE_ALL_JARS_PATTERN);
Review Comment:
I guess the extra `(.*)?` from `EXCLUDE_ALL_JARS_PATTERN =
".*?\\.jar(!/|/)?(.*)?";` is intentional, isn't it?
Issue Time Tracking
-------------------
Worklog Id: (was: 897881)
Time Spent: 1h 10m (was: 1h)
> Exclude JAR files by default when scanning for actions on JDK9+
> ---------------------------------------------------------------
>
> Key: WW-5383
> URL: https://issues.apache.org/jira/browse/WW-5383
> Project: Struts 2
> Issue Type: Improvement
> Components: Plugin - Convention
> Reporter: Lukasz Lenart
> Priority: Minor
> Fix For: 6.4.0
>
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> When running an app on the JDK9+ it can happen that the Convention plugin
> starts scanning JAR files due to changed behaviour of
> {{getClassLoader().getResources("")}} as this will also return additional
> path and current pattern to exclude JARs won't work.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)