FULL PRODUCT VERSION :
Mac OS X: 1.8.0_72, 1.8.0_73, 1.8.0_74
Windows 10: 1.8.0_65
ADDITIONAL OS VERSION INFORMATION :
Mac OS X 10.11.3
Windows 10
A DESCRIPTION OF THE PROBLEM :
Compilation of a single class takes 5 minutes and more.
A class with a lot of nested method calls (usage of a fluent API) needs minutes for compilation on decent hardware (i.e. a mid 2012 MacBook or a mid 2015 Dell notebook, both with SSD and enough RAM).
The problematic method is
public void given() throws ParseException {
oepList.add(a(OEP,
with(withoutPrescriptionSubProcesses, setOf(
make(a(WPSP,
with(SPMaker.items,
sortedSetOf(
make(a(OEPItem,
with(eArticle, make(a(EArticleFor(articles.withId("01016150"))))))),
make(a(OEPItem,
with(eArticle, make(a(EArticleFor(articles.withId("10042123")))))))
))))))));
}
see https://github.com/skiedrowski/jdk8-javac-slow/blob/master/src/test/java/d/PartOfScenario.java for the full source.
This effectively stops us from migrating to JDK8. Although it is easy to work around the problem it is not easy to identify the affected classes.
REGRESSION. Last worked in version 7u80
ADDITIONAL REGRESSION INFORMATION:
the compilation is reasonably fast when using jdk7
1.7.0_51 is confirmed to be fast, other jdks have not been tested.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1: Pull my repository from https://github.com/skiedrowski/jdk8-javac-slow
2: configure maven to use jdk1.8.0_74
3: run "mvn clean package"
See that the maven build takes at 5 up to 6.5 minutes on a developer notebook.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
compilation of this simple project should finish below 10 seconds
ACTUAL -
compilation of this simple project takes 5-6.5 minutes
ERROR MESSAGES/STACK TRACES THAT OCCUR :
> mvn clean package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building jdk8-javac-slow 0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ jdk8-javac-slow ---
[INFO] Deleting /Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ jdk8-javac-slow ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.5.1:compile (default-compile) @ jdk8-javac-slow ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/classes
[parsing started RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/src/main/java/d/DomainModel.java]]
[parsing completed 17ms]
[search path for source files: /Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/src/main/java,/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/generated-sources/annotations]
[search path for class files: /Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/resources.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/rt.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/sunrsasign.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/jsse.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/jce.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/charsets.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/jfr.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/classes,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/cldrdata.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/dnsns.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/jaccess.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/jfxrt.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/localedata.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/nashorn.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/sunec.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/zipfs.jar,/System/Library/Java/Extensions/MRJToolkit.jar,/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/classes,.]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Object.class)]]
[checking d.Article]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/io/Serializable.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/AutoCloseable.class)]]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/classes/d/Article.class]]
[checking d.EArticle]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/classes/d/EArticle.class]]
[checking d.OEP]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/classes/d/OEP.class]]
[checking d.OEPItem]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/classes/d/OEPItem.class]]
[checking d.SP]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/classes/d/SP.class]]
[total 161ms]
[INFO]
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ jdk8-javac-slow ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.5.1:testCompile (default-testCompile) @ jdk8-javac-slow ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to /Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/test-classes
[parsing started RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/src/test/java/d/Makers.java]]
[parsing completed 4ms]
[parsing started RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/src/test/java/d/PartOfScenario.java]]
[parsing completed 3ms]
[search path for source files: /Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/src/test/java,/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/generated-test-sources/test-annotations]
[search path for class files: /Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/resources.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/rt.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/sunrsasign.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/jsse.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/jce.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/charsets.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/jfr.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/classes,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/cldrdata.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/dnsns.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/jaccess.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/jfxrt.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/localedata.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/nashorn.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/sunec.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar,/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/ext/zipfs.jar,/System/Library/Java/Extensions/MRJToolkit.jar,/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/test-classes,/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/classes,/Users/sascha/.m2/repository/com/natpryce/make-it-easy/3.1.0/make-it-easy-3.1.0.jar,/Users/sascha/.m2/repository/org/hamcrest/hamcrest-core/1.2/hamcrest-core-1.2.jar,/Users/sascha/.m2/repository/org/hamcrest/hamcrest-library/1.2/hamcrest-library-1.2.jar,/Users/sascha/.m2/repository/junit/junit-dep/4.8.1/junit-dep-4.8.1.jar,.]
[loading ZipFileIndexFileObject[/Users/sascha/.m2/repository/com/natpryce/make-it-easy/3.1.0/make-it-easy-3.1.0.jar(com/natpryce/makeiteasy/Property.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Object.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/util/Set.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/util/SortedSet.class)]]
[loading ZipFileIndexFileObject[/Users/sascha/.m2/repository/com/natpryce/make-it-easy/3.1.0/make-it-easy-3.1.0.jar(com/natpryce/makeiteasy/Instantiator.class)]]
[loading ZipFileIndexFileObject[/Users/sascha/.m2/repository/com/natpryce/make-it-easy/3.1.0/make-it-easy-3.1.0.jar(com/natpryce/makeiteasy/PropertyLookup.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/String.class)]]
[loading RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/classes/d/Article.class]]
[loading RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/classes/d/EArticle.class]]
[loading RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/classes/d/OEP.class]]
[loading RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/classes/d/SP.class]]
[loading RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/classes/d/OEPItem.class]]
[loading ZipFileIndexFileObject[/Users/sascha/.m2/repository/com/natpryce/make-it-easy/3.1.0/make-it-easy-3.1.0.jar(com/natpryce/makeiteasy/MakeItEasy.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/text/ParseException.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/util/Arrays.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/util/HashSet.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/util/List.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/util/TreeSet.class)]]
[loading ZipFileIndexFileObject[/Users/sascha/.m2/repository/com/natpryce/make-it-easy/3.1.0/make-it-easy-3.1.0.jar(com/natpryce/makeiteasy/Maker.class)]]
[checking d.ArticleFix]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/io/Serializable.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/AutoCloseable.class)]]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/test-classes/d/ArticleFix.class]]
[checking d.EArticleMaker]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Override.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/annotation/Annotation.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/annotation/Target.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/annotation/ElementType.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/annotation/Retention.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/annotation/RetentionPolicy.class)]]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/test-classes/d/EArticleMaker$1.class]]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/test-classes/d/EArticleMaker.class]]
[checking d.OEPMaker]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/test-classes/d/OEPMaker$1.class]]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/test-classes/d/OEPMaker.class]]
[checking d.OEPItemMaker]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/test-classes/d/OEPItemMaker$1.class]]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/test-classes/d/OEPItemMaker.class]]
[checking d.SPMaker]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/test-classes/d/SPMaker$1.class]]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/test-classes/d/SPMaker.class]]
[checking d.PartOfScenario]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Exception.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Throwable.class)]]
[loading ZipFileIndexFileObject[/Users/sascha/.m2/repository/com/natpryce/make-it-easy/3.1.0/make-it-easy-3.1.0.jar(com/natpryce/makeiteasy/PropertyValue.class)]]
[loading ZipFileIndexFileObject[/Users/sascha/.m2/repository/com/natpryce/make-it-easy/3.1.0/make-it-easy-3.1.0.jar(com/natpryce/makeiteasy/Donor.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Byte.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Character.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Short.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Long.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Float.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Integer.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Double.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Boolean.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Void.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/util/Collection.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/lang/Iterable.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/util/AbstractSet.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/util/AbstractCollection.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/util/Comparator.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/util/NavigableMap.class)]]
[loading ZipFileIndexFileObject[/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/lib/ct.sym(META-INF/sym/rt.jar/java/util/NavigableSet.class)]]
[wrote RegularFileObject[/Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/test-classes/d/PartOfScenario.class]]
[total 409732ms]
[INFO] /Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/src/test/java/d/PartOfScenario.java: /Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/src/test/java/d/PartOfScenario.java uses unchecked or unsafe operations.
[INFO] /Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/src/test/java/d/PartOfScenario.java: Recompile with -Xlint:unchecked for details.
[INFO]
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ jdk8-javac-slow ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ jdk8-javac-slow ---
[INFO] Building jar: /Users/sascha/Documents/Programming/ActiveProjects/jdk8-javac-slow/target/jdk8-javac-slow-0.1-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6:51.357s
[INFO] Finished at: Mon Feb 22 15:24:11 CET 2016
[INFO] Final Memory: 27M/877M
[INFO] ------------------------------------------------------------------------
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
See https://github.com/skiedrowski/jdk8-javac-slow/blob/master/src/test/java/d/PartOfScenario.java
If this is stripped down further, the problem is not as big (though still noticeable).
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Refactor the code which compiles slowly to use less nested method calls. In the above example, extracting the two "make(a(OEPItem, ...))" parts results in a much faster compilation.
However, it is not easy to identify the affected classes/methods.