vayshya commented on issue #654:
URL:
https://github.com/apache/maven-war-plugin/issues/654#issuecomment-6234341806
Place in callstack where wrong convertion of string made.
Maven calls Plexus JarArchiver class which calls Manifest class of Open JDK,
method println72.
println72 code is
static void println72(OutputStream out, String line) throws IOException {
if (!line.isEmpty()) {
byte[] lineBytes = line.getBytes(UTF_8.INSTANCE);
int length = lineBytes.length;
// first line can hold one byte more than subsequent lines which
// start with a continuation line break space
out.write(lineBytes[0]);
int pos = 1;
while (length - pos > 71) {
out.write(lineBytes, pos, 71);
pos += 71;
println(out);
out.write(' ');
}
out.write(lineBytes, pos, length - pos);
}
println(out);
}
Which is clearly wrong as it's not aware of multibyte UTF-8 characters
required by specification.
at java.util.jar.Manifest.println72(Manifest.java:227)
at java.util.jar.Attributes.writeMain(Attributes.java:357)
at java.util.jar.Manifest.write(Manifest.java:208)
at
org.codehaus.plexus.archiver.jar.JarArchiver.writeManifest(JarArchiver.java:340)
at
org.codehaus.plexus.archiver.jar.JarArchiver.initZipOutputStream(JarArchiver.java:284)
at
org.codehaus.plexus.archiver.war.WarArchiver.initZipOutputStream(WarArchiver.java:149)
at
org.codehaus.plexus.archiver.zip.AbstractZipArchiver.createArchiveMain(AbstractZipArchiver.java:259)
at
org.codehaus.plexus.archiver.zip.AbstractZipArchiver.execute(AbstractZipArchiver.java:183)
at
org.codehaus.plexus.archiver.AbstractArchiver.createArchive(AbstractArchiver.java:903)
at
org.apache.maven.archiver.MavenArchiver.createArchive(MavenArchiver.java:603)
at org.apache.maven.plugins.war.WarMojo.performPackaging(WarMojo.java:226)
at org.apache.maven.plugins.war.WarMojo.execute(WarMojo.java:167)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
at
org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328)
at
org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174)
at
org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75)
at
org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162)
at
org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:919)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:285)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:207)
at
java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(DirectMethodHandle$Holder:-1)
at java.lang.invoke.LambdaForm$MH/0x000000001e0c0c00.invoke(LambdaForm$MH:-1)
at
java.lang.invoke.LambdaForm$MH/0x000000001e041c00.invokeExact_MT(LambdaForm$MH:-1)
at
jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(DirectMethodHandleAccessor.java:156)
at
jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.lang.reflect.Method.invoke(Method.java:583)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:255)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:362)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]