не может найти причину такой проблемы.Мне нужно прочитать свойства моего файла MANIFEST.MF, и он всегда нулевой.Это мой maven-jar-plugin в pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Project>ExternalBettingHistoryService</Project>
<Build>${buildVersion}</Build>
</manifestEntries>
</archive>
</configuration>
</plugin>
Вот класс, в котором я читаю манифест:
@Controller
public class StatusController
{
@Autowired
private ServletContext servletContext;
public void readManifest() throws IOException
{
Properties manifest = new Properties();
try (InputStream inputStream = servletContext.getResourceAsStream("/META-INF/MANIFEST.MF"))
{
manifest.load(inputStream);
}
}
Этот код постоянно вызывает исключение NullPointerException, потому что servletContext.getResourceAsStream ("/META-INF/MANIFEST.MF") возвращает ноль.
Я строю проект просто используя пакет mvn.Это файл манифеста внутри .jar: [jar] /target/classes/META-INF/MANIFEST.MF.Этот файл действителен и существует и выглядит примерно так:
Manifest-Version: 1.0
Implementation-Title: sampleTitle
Implementation-Version: 0.0.1-SNAPSHOT
Build: DEV
Built-By: me
Implementation-Vendor-Id: com.sample.project
Project: ProjectName
Created-By: Apache Maven 3.5.0
Build-Jdk: 1.8.0_144
Implementation-URL: https://projects.spring.io/spring-boot/#/spring-bo
ot-starter-parent/parent-pom/projectname
Я пытался запустить проект, используя:
- spring-boot: run
- java -jartarget / my-jar.jar
В обоих случаях inputStream файла servletContext.getResourceAsStream ("/ META-INF / MANIFEST.MF") имеет значение null.
Что может быть не так?