Муравьиные претензии Реализация-Заголовок / Версия / Поставщик не установлены, но они есть - PullRequest
7 голосов
/ 25 августа 2011

Я запускаю ant 1.8.0 в подробном режиме. Я создал манифест, содержащий имя-реализации, -Version и -Vendor, и полученный JAR-файл содержит манифест с теми, что в нем. Класс JAR работает нормально. Тем не менее, вывод от ant говорит

[jar] Нет установленного заголовка реализации. Нет установленной версии реализации. Нет установленного поставщика реализации.

Это просто ошибка в муравье или я что-то здесь упускаю?

Спасибо

Вот мой код муравья:

<?xml version="1.0" encoding="UTF-8"?>
<project name="helloworld.makejar" default="makejar" basedir=".">
  <target name ="makejar" description="Create a JAR for the HelloWorld project">
    <delete file="helloworld.jar" />
    <delete file="MANIFEST.MF" />

    <manifest file="MANIFEST.MF">
      <attribute name="Built-By" value="${user.name}" />
      <attribute name="Main-Class" value="project.builder.example.HelloWorld" />
      <section name="common">
        <attribute name="Specification-Title"    value="Example" />
        <attribute name="Specification-Version"  value="1.0.0" />
        <attribute name="Specification-Vendor"   value="Example Organization" />
        <attribute name="Implementation-Title"   value="common" />
        <attribute name="Implementation-Version" value="1.0.0 today" />
        <attribute name="Implementation-Vendor"  value="Acme Corp." />
      </section>
    </manifest>

    <jar jarfile="helloworld.jar"
         includes="**/*.class"
         basedir="bin"
         manifest="MANIFEST.MF"
     />
  </target>
  <javac srcdir="src" destdir="bin" />
</project>

1 Ответ

5 голосов
/ 28 августа 2011

Мне кажется, проблема в том, что атрибуты должны быть определены как дочерние элементы элемента манифеста, а не как дочерние элементы вложенного раздела.

Обновление

Может быть, использование встроенного элемента манифеста будет иметь значение.Следующий фрагмент из документа Ant:

<jar destfile="test.jar" basedir=".">
    <include name="build"/>
    <manifest>
        <!-- Who is building this jar? -->
        <attribute name="Built-By" value="${user.name}"/>
        <!-- Information about the program itself -->
        <attribute name="Implementation-Vendor" value="ACME inc."/>
        <attribute name="Implementation-Title" value="GreatProduct"/>
        <attribute name="Implementation-Version" value="1.0.0beta2"/>
        <!-- details -->
        <section name="common/MyClass.class">
            <attribute name="Sealed" value="false"/>
        </section>
    </manifest>
</jar>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...