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
This commit is contained in:
committed by
Michael Minella
parent
8df674c4d8
commit
57c4acdf22
@@ -251,7 +251,7 @@ public class JsrBeanDefinitionDocumentReaderTests extends AbstractJsrTestCase {
|
||||
}
|
||||
|
||||
private Document getDocument(String location) {
|
||||
InputStream inputStream = ClassLoader.class.getResourceAsStream(location);
|
||||
InputStream inputStream = this.getClass().getResourceAsStream(location);
|
||||
|
||||
try {
|
||||
return documentLoader.loadDocument(new InputSource(inputStream),
|
||||
|
||||
@@ -49,7 +49,8 @@ public class DefaultJobParametersExtractorJobParametersTests {
|
||||
StepExecution stepExecution = getStepExecution("foo=bar,spam=bucket");
|
||||
extractor.setKeys(new String[] {"foo", "bar"});
|
||||
JobParameters jobParameters = extractor.getJobParameters(null, stepExecution);
|
||||
assertEquals("{spam=bucket, foo=bar}", jobParameters.toString());
|
||||
assertEquals("bar", jobParameters.getString("foo"));
|
||||
assertEquals("bucket", jobParameters.getString("spam"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user