Eu criei um arquivo de guerra executável especificando WarLauncher (parte do carregador de boot primavera) como a minha arranque de classe. Ele funciona muito bem quando todos os arquivos de configuração (propriedades, contexto primavera, etc) fazem parte da pasta o meu recursos. Espero consumidor de minha guerra exigindo controle sobre o arquivo de propriedade. Por isso, é necessário para ser carregado fora do arquivo de guerra. Estou esperando o arquivo de propriedades em uma pasta config (implantado lado a lado com o arquivo de guerra). Tentei adicionar entradas de classpath apropriadas para o manifesto, fazendo uso de plug-in Maven mas não funcionou.
O seguinte é como seção relevante do meu arquivo POM maven se parece com:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>org.springframework.boot.loader.WarLauncher</mainClass>
</manifest>
<manifestEntries>
<Start-Class><<myclass_dont_worry_about_this>></Start-Class>
<Class-Path>config/</Class-Path>
</manifestEntries>
</archive>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
Eu estou usando Spring ClassPathResource () para carregar o arquivo de propriedade. O seguinte mostra o trecho de código para o mesmo:
InputStream stream = new ClassPathResource(classPathConfigFilePath).getInputStream();
Proerties properties = new Properties();
properties.load(stream);
Em tempo de execução, não é capaz de localizar o arquivo de propriedade resultando em FileNotFoundException.
Obrigado.













