Начиная с весны 3.1, лучший способ для создания Location - использовать параметр UriComponentBuilder
и установить его в возвращаемое значение ResponseEntity
. UriComponentBuilder
знает о контексте и манипулирует относительными путями:
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<?> createCustomer(UriComponentsBuilder b) {
UriComponents uriComponents =
b.path("/customers/{id}").buildAndExpand(id);
HttpHeaders headers = new HttpHeaders();
headers.setLocation(uriComponents.toUri());
return new ResponseEntity<Void>(headers, HttpStatus.CREATED);
}
Начиная с версии 4.1 вы можете сделать его еще короче
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<?> createCustomer(UriComponentsBuilder b) {
UriComponents uriComponents =
b.path("/customers/{id}").buildAndExpand(id);
return ResponseEntity.created(uriComponents.toUri()).build();
}
Благодаря Дитеру Хубау за указание на это.
Похоже, вам нужно использовать параметр bootclasspath
в задаче Javac или Java Ant.
Вы можете всегда выполняйте ant -v
, чтобы получить подробный вывод вашей сборки Ant.
Jars in the ant classpath помещаются в том порядке, в котором вы их объявляете.