2009-09-11 9 views

答えて

0

jar cf jar-file inputs-filesを使用してjarを作成すると、デフォルトマニフェストファイルが作成されます。

3

マニフェストはシンプルなテキストファイルです。Sun's tutorialはその内容を詳しく説明しています。

jar cfm <jar-file> <manifest-addition> 
0

マニフェストファイルはテキストファイルです:

あなたがしなければならないのは、このコマンドでそのようなファイルやupdate the JAR filesを作成することです。 JARファイルは実際にはZIPファイルなので、7-zipのようなツールを使用してマニフェストを追加することもできます。これはもちろん、署名付きJARでは機能しません。

6

Eclipseには、Jarのマニフェストファイルを生成したり、生成したマニフェストをプロジェクトに保存したり、マニフェストに指定したファイルを使用するためのオプションが用意されています。

私は、Eclipse 3.4.2持っており、それがこの過程で第四画面上にある:

右クリックし、プロジェクト - > [エクスポート] - > Javaの/ JARファイルを、次に、JARファイルの仕様、次に、JARパッケージオプション、次に、JARマニフェスト仕様。

デフォルトでは、JARのデフォルトマニフェストを生成し、生成されたファイルをプロジェクトに保存しないため、JARファイルを開くとマニフェストが表示されますが、 like:

Manifest-Version: 1.0 

です。

再構築せずに既存のJARを変更したい場合は、おそらくmad-jを提案してZipツールで開き、既存の/META-INF/MANIFEST.MFを編集するのが最も簡単な方法ですJARファイルに保存してください。

+0

今日はEclipseのメソッドを使用しましたが、Manifestはただ1行で、Mainクラスの場所を指定しませんでした。 Eclipseにそれを行う方法を理解できなかったので、自分のManifestファイルを作成し、Eclipseプロジェクトでエクスポート中に選択しました。 –

3

Antでは、jarタスクを使用できます。含める必要があるすべての属性を指定するためのマニフェストオプションがあります。次のようなもの:

<target name="create-my-jar"> 
    <jar jarfile="foo.jar" basedir="bin/classes">  
     <manifest> 
     <attribute name="Class-Path" value="xxx"/> 
     <attribute name="Ant-Version" value="${ant.version}"/> 
     <attribute name="Created-By" value="JDK ${java.version} (${java.vendor})"/> 
     <attribute name='Specification-Title' value='xxx' /> 
     <attribute name='Specification-Version' value='xxx' /> 
     <attribute name='Specification-Vendor' value='xxx' /> 
     <attribute name='Implementation-Title' value='xxx' /> 
     <attribute name='Implementation-Version' value='xxx' /> 
     <attribute name='Implementation-Vendor' value='xxx' /> 
     <attribute name='Implementation-Vendor-Id' value='xxx' /> 
     <attribute name='Implementation-Vendor-URL' value='xxx' /> 
     <attribute name="Built-By" value="${user.name}"/> 
     <attribute name='Build-Date' value='xxx'/> 
     <attribute name='Build-Time' value='xxx'/>    
     </manifest> 
     </jar> 
    </target> 
4

私はこの問題に直面しました。

はい、Eclipseはマニフェストを作成しますが、実際は冗談です。

これには、Manifest-Version: 1.0という行のみが含まれます。私はそれが私のメインクラスを追加する方法を考え出していないので、自分のMANIFEST.MFファイルを作成し、それを私のプロジェクトのメインディレクトリ(srcでlibではない)に追加しました。次に、[エクスポート]> [JARファイル]に移動したら、最後まで[次へ]を押します(あまりにも早く完了しないでください)。プロジェクトからマニフェストを選択するオプションをクリックします。プロジェクトに追加したマニフェストファイルを選択します。マニフェストにメインクラスへのパスがあることを確認してください(例:com.companyなど)。たとえば、これは基本的なマニフェストファイルは次のようになります方法です:

Manifest-Version: 1.0 
Created-By: 1.6.0 (Sun Microsystems Inc.) 
Main-Class: MyPackage.MyClass 

まあ..私はマイケルのメソッド@試みたが、私はノークラスの私のJARに残されたファイルのみマニフェストファイルになってしまいました。私の上記の方法はうまくいきます。

0

この文書を見ると、Eclipseウィザードを使用して問題を解決するのに役立ちました。下部のJARマニフェスト仕様ページ上のEclipseを使用して

See Eclipse Documentation

0

は、あなたがあなたのメインクラスを参照することができ、テキストボックスがあります。 メインクラスを参照し、フィニッシュをクリックします。これにより、メインクラス情報とともにマニフェストが生成され、jarファイルが実行されます。 -Dev On

関連する問題