2010-12-01 205 views
4

我在Eclipse的java-project中定制了MANIFEST.MF如何在Eclipse中使用自己的MANIFEST.MF构建jar

当导出项目的罐子,我选择

使用从工作区

提取日食产生了自己的清单中的.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 

我该如何解决这个问题?

回答

4

您可以使用build.xml为您构建jar文件。

然后,您只需将build.xml作为Ant任务运行即可。

alt text

如果你想build.xml中的每一个你建立你的Eclipse项目时自动运行,可以将其添加到列表建设者。

参见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

在Eclipse 3.6.1。 Rigth点击您的编译项目 - >导出 接下来,您应该从树中选择Java-JAR文件 在选择选项后出现的新表单不要单击完成,而是点击“下一步”。 第三种形式是'JAR Manifest Specification'并且您可以选择您的清单文件而不是eclipse生成的清单文件。

+0

正如我所发表的那样,这正是我所做的。我使用Eclipse 3.3.2。 – Sven 2010-12-01 11:19:26