Как собрать флягу, используя собственный MANIFEST.MF в Eclipse - PullRequest
4 голосов
/ 01 декабря 2010

У меня есть пользовательский MANIFEST.MF в моем java-проекте в Eclipse.

При экспорте проекта в банку я выбираю

Использовать существующий манифест из рабочей области

Извлечение .jar показывает, что затмение сгенерировало свой собственный манифест.

Мой манифест:

Manifest-Version: 1.0 
Main-Class: de.somehow.tagPDF.Main
Class-Path: lib/iText-5.0.2.jar;lib/jxl.jar;lib/jai_codec.jar;lib/jai_core.jar

Как я могу это исправить?

Ответы [ 2 ]

4 голосов
/ 01 декабря 2010

Вы можете использовать build.xml для создания файла JAR для вас.

Затем вы просто запускаете build.xml как задачу Ant.

См. alt text

Если вы хотите, чтобы build.xml запускался автоматически каждый раз при сборке проекта Eclipse, вы можете добавить его в список Builders.

См. alt text

Ниже приведен пример build.xml, в котором используется пользовательский манифест:

<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." name="Example" default="run_build">

    <property name="guiJar" value="../../Library/<jar-name>.jar"></property>

    <target name="run_build" depends="delete_old_jar,create_dirs,create_manifest,copy_all_class_files,create_jar,delete_temp_dirs">
    </target>

    <target name="delete_old_jar">
        <delete file="${guiJar}">
        </delete>
    </target>

    <target name="create_dirs">
        <mkdir dir="jar_temp" />
        <mkdir dir="jar_temp/META-INF" />
    </target>

    <target name="delete_temp_dirs">
        <delete dir="jar_temp">
        </delete>
    </target>

    <target name="create_manifest">
        <manifest file="jar_temp/META-INF/MANIFEST.MF">
            <attribute name="Manifest-Version" value="1.0" />
            <attribute name="Version" value="1.0.0" />
            <attribute name="Company" value="Value" />
            <attribute name="Project" value="Value" />
            <attribute name="Java-Version" value="${java.version}" />
            <attribute name="Class-Path" value="test.jar" />
                    <attribute name="Main-Class" value="com.Main" />
        </manifest>
    </target>

    <target name="create_jar">
        <jar destfile="${guiJar}" manifest="jar_temp/META-INF/MANIFEST.MF" basedir="jar_temp">
        </jar>
    </target>

    <target name="copy_all_class_files">
        <copy todir="jar_temp">
            <fileset dir="classes">
                <include name="*/**" />
            </fileset>
        </copy>
    </target>
</project>
0 голосов
/ 01 декабря 2010

В затмении 3.6.1.Щелкните правой кнопкой мыши по скомпилированному проекту -> Export. Далее следует выбрать Java - JAR-файл из дерева. В новой форме, появившейся после выбора опций, не нажимайте кнопку Finish, а «Next».Третья форма будет 'JAR Manifest Specification' , и там вы сможете выбрать файл манифеста вместо сгенерированного Eclipse.

...