beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ismaël Mejía (JIRA) <j...@apache.org>
Subject [jira] [Commented] (BEAM-3422) The jar files uploaded to maven do not work with Java 9
Date Mon, 08 Jan 2018 22:48:00 GMT

    [ https://issues.apache.org/jira/browse/BEAM-3422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16317269#comment-16317269
] 

Ismaël Mejía commented on BEAM-3422:
------------------------------------

You are right even if we don't support Java this is worth the fix. It seems the fix is quiet
easy, it is just to update the plugin to version 0.4.
See https://github.com/Zlika/reproducible-build-maven-plugin/issues/12
I will tag it to be fixed in version 2.3.0 since we are doing a new release soon.

> The jar files uploaded to maven do not work with Java 9
> -------------------------------------------------------
>
>                 Key: BEAM-3422
>                 URL: https://issues.apache.org/jira/browse/BEAM-3422
>             Project: Beam
>          Issue Type: Sub-task
>          Components: build-system
>    Affects Versions: 2.2.0
>         Environment: OSX Darwin 17.3.0
>            Reporter: Chris Heisterkamp
>             Fix For: Not applicable
>
>
> The apache beam jars uploaded to maven have invalid date modified times in the jar files
and cannot be loaded by JDK 9 because of https://bugs.openjdk.java.net/browse/JDK-8184940.
 I've submitted a new bug to http://bugreport.java.com asking that the fix be back ported
to the next Java 9 release.
> In the meantime, can you repackage the jars with valid modified times? And uploaded fixed
jars to Maven?
> To reproduce you just need to put one of the jars on the classpath for javac.  So far
I've found the following jars on maven central are affected.
> beam-runners-google-cloud-dataflow-java-2.2.0.jar
> beam-sdks-common-runner-api-2.2.0.jar
> beam-sdks-java-core-2.2.0.jar
> beam-sdks-java-extensions-google-cloud-platform-core-2.2.0.jar
> beam-sdks-java-extensions-protobuf-2.2.0.jar
> beam-sdks-java-io-google-cloud-platform-2.2.0.jar
> e.g.
> ```
> > curl -O http://central.maven.org/maven2/org/apache/beam/beam-sdks-java-core/2.2.0/beam-sdks-java-core-2.2.0.jar
> > javac -cp beam-sdks-java-core-2.2.0.jar HelloWorld.java
> An exception has occurred in the compiler (9.0.1). Please file a bug against the Java
compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug
Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic
in your report. Thank you.
> java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0
> 	at java.base/java.time.temporal.ValueRange.checkValidValue(ValueRange.java:311)
> 	at java.base/java.time.temporal.ChronoField.checkValidValue(ChronoField.java:714)
> 	at java.base/java.time.LocalDate.of(LocalDate.java:269)
> 	at java.base/java.time.LocalDateTime.of(LocalDateTime.java:336)
> 	at jdk.zipfs/jdk.nio.zipfs.ZipUtils.dosToJavaTime(ZipUtils.java:109)
> 	at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem$Entry.cen(ZipFileSystem.java:1950)
> 	at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem$Entry.readCEN(ZipFileSystem.java:1937)
> 	at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.getEntry(ZipFileSystem.java:1324)
> 	at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.newInputStream(ZipFileSystem.java:550)
> 	at jdk.zipfs/jdk.nio.zipfs.JarFileSystem.isMultiReleaseJar(JarFileSystem.java:91)
> 	at jdk.zipfs/jdk.nio.zipfs.JarFileSystem.<init>(JarFileSystem.java:67)
> 	at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:134)
> 	at jdk.compiler/com.sun.tools.javac.file.JavacFileManager$ArchiveContainer.<init>(JavacFileManager.java:517)
> 	at jdk.compiler/com.sun.tools.javac.file.JavacFileManager.getContainer(JavacFileManager.java:319)
> 	at jdk.compiler/com.sun.tools.javac.file.JavacFileManager.list(JavacFileManager.java:715)
> 	at jdk.compiler/com.sun.tools.javac.code.ClassFinder.list(ClassFinder.java:722)
> 	at jdk.compiler/com.sun.tools.javac.code.ClassFinder.scanUserPaths(ClassFinder.java:648)
> 	at jdk.compiler/com.sun.tools.javac.code.ClassFinder.fillIn(ClassFinder.java:529)
> 	at jdk.compiler/com.sun.tools.javac.code.ClassFinder.complete(ClassFinder.java:293)
> 	at jdk.compiler/com.sun.tools.javac.code.Symtab.lambda$addRootPackageFor$7(Symtab.java:758)
> 	at jdk.compiler/com.sun.tools.javac.code.Symbol.complete(Symbol.java:633)
> 	at jdk.compiler/com.sun.tools.javac.comp.Enter.visitTopLevel(Enter.java:354)
> 	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:529)
> 	at jdk.compiler/com.sun.tools.javac.comp.Enter.classEnter(Enter.java:285)
> 	at jdk.compiler/com.sun.tools.javac.comp.Enter.classEnter(Enter.java:300)
> 	at jdk.compiler/com.sun.tools.javac.comp.Enter.complete(Enter.java:570)
> 	at jdk.compiler/com.sun.tools.javac.comp.Enter.main(Enter.java:554)
> 	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:1052)
> 	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:923)
> 	at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:302)
> 	at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:162)
> 	at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
> 	at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
> > java -version
> java version "9.0.1"
> Java(TM) SE Runtime Environment (build 9.0.1+11)
> Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
> ```
> Unpacking and re-creating the jar with JDK 8 fixes the problem on OSX
> jar -xf beam-sdks-java-core-2.2.0.jar
> jar -cf beam-sdks-java-core-2.2.0.jar .
> You call also use the JarTime.java test from https://bugs.openjdk.java.net/browse/JDK-8184940
to look at the modified dates for the jar entries.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message