executable-packer-maven-plugin
executable-packer-maven-plugin copied to clipboard
log4j2 error
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at de.ntcomputer.executablepacker.runtime.ExecutableLauncher.main(ExecutableLauncher.java:120)
Caused by: java.lang.NullPointerException
at java.io.File.<init>(File.java:277)
at org.apache.logging.log4j.core.config.plugins.util.ResolverUtil.extractPath(ResolverUtil.java:268)
at org.apache.logging.log4j.core.config.plugins.util.ResolverUtil.findInPackage(ResolverUtil.java:187)
at org.apache.logging.log4j.core.config.plugins.util.PluginRegistry.loadFromPackage(PluginRegistry.java:221)
at org.apache.logging.log4j.core.config.plugins.util.PluginManager.collectPlugins(PluginManager.java:152)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:221)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:250)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:548)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:620)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:637)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:231)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:121)
at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:43)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
String extractPath(final URL url) throws UnsupportedEncodingException, URISyntaxException {
String urlPath = url.getPath(); // same as getFile but without the Query portion
// System.out.println(url.getProtocol() + "->" + urlPath);
// I would be surprised if URL.getPath() ever starts with "jar:" but no harm in checking
if (urlPath.startsWith("jar:")) {
urlPath = urlPath.substring(4);
}
// For jar: URLs, the path part starts with "file:"
if (urlPath.startsWith("file:")) {
urlPath = urlPath.substring(5);
}
// If it was in a JAR, grab the path to the jar
final int bangIndex = urlPath.indexOf('!');
if (bangIndex > 0) {
urlPath = urlPath.substring(0, bangIndex);
}
// LOG4J2-445
// Finally, decide whether to URL-decode the file name or not...
final String protocol = url.getProtocol();
final List<String> neverDecode = Arrays.asList(VFS, VFSZIP, BUNDLE_RESOURCE);
if (neverDecode.contains(protocol)) {
return urlPath;
}
final String cleanPath = new URI(urlPath).getPath();
if (new File(cleanPath).exists()) {
// if URL-encoded file exists, don't decode it
return cleanPath;
}
return URLDecoder.decode(urlPath, StandardCharsets.UTF_8.name());
}
This seems to be caused by log4j custom url handling, not knowing the jij protocol or something.