Весенняя загрузка MANIFEST.MF в ServletContext является нулевой - PullRequest
0 голосов
/ 05 декабря 2018

не может найти причину такой проблемы.Мне нужно прочитать свойства моего файла 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.

Что может быть не так?

...