Невозможно записать в файл манифеста в сборке maven

#java #maven #maven-plugin #manifest.mf

#java #maven #maven-плагин #manifest.mf

Вопрос:

Я пытаюсь получить информацию, записанную в файл манифеста, но после сборки я не получаю ничего, кроме приведенного ниже в моем файле манифеста

Версия манифеста: 3

Спецификация-Заголовок: 3

Это моя задача сборки в pom, где я пытался указать записи манифеста true, но тщетно: (

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <executions>
        <execution>
            <id>deployJarToRepositoryBasedOnVersion</id>
            <phase>package</phase>
            <goals>
                <goal>deploy-file</goal>
            </goals>
            <configuration>
                <archive>
                    <manifest>
                      <addDefaultImplementationEntries/><addDefaultSpecificationEntries/>
                    </manifest>
                </archive>
                <artifactId>${component-name}</artifactId>
                <groupId>${project.groupId}</groupId>
                <version>${project.version}</version>
                <repositoryId>${jfrog.repository.id}</repositoryId>
                <url>${jfrog.repository.url}</url>
                <file>${project.build.directory}/classes/${component-name}.jar</file>
                <packaging>jar</packaging>
            </configuration>
        </execution>
    </executions>
</plugin>
  

Комментарии:

1. возможно, вы пропустили <manifestEntries> обертывание вокруг ваших ключей

2. оберните ключи в тег <manifestEntries> и поместите в архив после манифеста. должно быть в порядке

3. Это не работает, уже пробовал.

4. Да, я вижу, это не единственная проблема

5. это должно быть в порядке, если вы правильно задали все свои параметры. Я не могу это проверить, под рукой нет активных проектов развертывания

Ответ №1:

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <archive>
                    <manifest>
                        <addDefaultImplementationEntries/><addDefaultSpecificationEntries/>
                    </manifest>
                    <manifestEntries>
                        <artifactId>${component-name}</artifactId>
                        <groupId>${project.groupId}</groupId>
                        <version>${project.version}</version>
                        <repositoryId>${jfrog.repository.id}</repositoryId>
                        <url>${jfrog.repository.url}</url>
                        <file>${project.build.directory}/classes/${component-name}.jar</file>
                        <packaging>jar</packaging>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <executions>
                <execution>
                    <id>deployJarToRepositoryBasedOnVersion</id>
                    <phase>package</phase>
                    <configuration>
                        <url>${jfrog.repository.url}</url>
                        <file>${project.build.directory}/classes/${component-name}.jar</file>
                        <repositoryId>remote-repository</repositoryId>
                        <artifactId>${component-name}</artifactId>
                        <groupId>${project.groupId}</groupId>
                        <version>${project.version}</version>
                    </configuration>
                    <goals>
                        <goal>deploy-file</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>