Files
spring-batch/spring-batch-core
Mahmoud Ben Hassine 57c4acdf22 Fix Javadoc generation issues on Java 9
1. The first issue is:

```
> Task :api
DefaultBatchConfigurer.java:18: error: cannot find symbol
import javax.annotation.PostConstruct;
                       ^
  symbol:   class PostConstruct
  location: package javax.annotation
DataSourceConfiguration.java:18: error: cannot find symbol
import javax.annotation.PostConstruct;
                       ^
  symbol:   class PostConstruct
  location: package javax.annotation
DefaultBatchConfigurer.java:94: error: cannot find symbol
        @PostConstruct
         ^
  symbol:   class PostConstruct
  location: class DefaultBatchConfigurer
DataSourceConfiguration.java:46: error: cannot find symbol
        @PostConstruct
         ^
  symbol:   class PostConstruct
  location: class DataSourceConfiguration
4 errors
```

This issue is fixed by adding the `javax.annotation-api` dependency

2. The second issue is:

```
javadoc: error - An internal exception has occurred.
(com.sun.tools.javac.code.ClassFinder$BadClassFile: bad class file:
/org/springframework/batch/core/configuration/support/
GenericApplicationContextFactory$ResourceAnnotationApplicationContext$1.class

class file contains malformed variable arity method:
GenericApplicationContextFactory$ResourceAnnotationApplicationContext$1
Please remove or make sure it appears in the correct subdirectory of the classpath.)
```

The workaround to this issue is to use a named inner class instead of
an anonymous one.

Upgrade jacoco to version 0.8.2

Fix failing tests on Java 9

* `javax.xml.bind` is no longer contained in the default class path in
Java SE 9. This commit adds the module `java.xml.bind` to the JVM args
for tests

* JsrBeanDefinitionDocumentReaderTests are failing because
`ClassLoader.class.getResourceAsStream` has a different behaviour on Java 9.
According to `https://stackoverflow.com/a/45173837/5019386`, it's best to
use the resource-lookup methods in Class rather than those in ClassLoader.

* DefaultJobParametersExtractorJobParametersTests#testGetAllJobParameters
is failing because jobParameters.toString() returns "{foo=bar, spam=bucket}"
on Java 9 and "{spam=bucket, foo=bar}" on Java 8. The fix asserts that
jobParameters contains the expected key/value pairs without relying on the
toString method

JIRA: BATCH-2751
2018-09-21 13:48:15 -05:00
..
2014-04-02 14:35:53 -04:00