2012-02-22 27 views
1

これは私の問題の2番目のラウンドです。 私はメモ帳で簡単なプログラムを作成し、それを(Blocktestgui.java)javaファイルとして保存しました。 コマンドjavac Blocktestgui.javaでコンパイルし、get(Blocktestgui.class) テキストマニフェストファイルを作成しました(下記参照)manifest.mfとして保存しました 次にコマンドjar cvf bg.jar Blocktestgui.class manifest.mfを実行してget(bg.jar)実行可能なjarの作成

これは私のJavaファイルである:これは、jarファイルを作成する前に、私のMANIFEST.MFです

import javax.swing.JOptionPane; 
public class Blocktestgui { 
public static void main(String[] args) { 

    String firstNumber, secondNumber; 
    double number1, number2, sum; 

    firstNumber=JOptionPane.showInputDialog ("Enter wall length in decimal feet:",JOptionPane.INFORMATION_MESSAGE); 
    secondNumber=JOptionPane.showInputDialog ("Enter wall height in decimal feet:",JOptionPane.INFORMATION_MESSAGE); 

    number1=Double.parseDouble (firstNumber); 
    number2=Double.parseDouble (secondNumber); 

    sum = (number1*number2)/0.88; 

    JOptionPane.showMessageDialog (null, "Total Blocks are " + sum,"Results",JOptionPane.PLAIN_MESSAGE); 
    System.exit (0); 
    } 
} 

Main-Class: Blocktestgui 

私はフォルダを取得するjarファイルの内容と2つのFを抽出するときMETA-INF < --contains MANIFEST.MF < - -

フォルダ>ジルこのファイルには、行のメインクラスが含まれていません:Blocktestgui

ファイル> - Blocktestgui.class

ファイル> - MANIFEST.MF < - すべてこのファイルには、メインクラスであると言う:Blocktestgui

TestFolder/ 
    |- META-INF/ 
     |- MANIFEST.MF (This file does not contain the line Main-Class: Blocktestgui) 
    |- Blocktestgui.class 
    |- manifest.mf (This file says is Main-Class: Blocktestgui) 

jarファイルをjava -jar bg.jarでコンソールで実行すると、「bg.jarのメインマニフェスト属性がありません」というエラーが表示されます

何がうまくいきますか?

答えて

0

manifest.mfファイルの1行が改行文字で終わることを確認してください。

1

自分で作成するのではなく、ビルドツールを使用してjarファイルを作成することをお勧めします。

Apache Antは、通常jarファイルを構築するために使用されます。

あなたがいないだけで含まれるファイルの一つとして、別途マニフェスト情報を指定する必要が

Here are instructions for installing Ant on Windows.

Here's a tutorial for writing an Ant build.xml file for your project.

4

the docsから:

jar c[v0Mmfe] [manifest] [jarfile] [entrypoint] [-C dir] inputfiles [-Joption] 

あなたにケース:

jar cvmf manifest.mf bg.jar Blockingtestgui.class 

あるいは、より簡単に、具体的なマニフェストファイルなし:

jar cvfe bg.jar Blockingtestgui.class Blockingtestgui.class 

最初Blockingtestgui.classは、第二のファイルが含まれるように、エントリポイントを指定します。フラグの順序はここで重要です。 m,f、およびeの情報は、フラグが指定されている順に表示されます。

+0

ありがとうございました!私は実際にここで働いていることを理解するためにあなたの投稿を再読しなければならないが、最初の行は魅力的に働いた。 'jar cvmf manifest.mf bg.jar Blocktestgui.class' 私はちょうど始めて、これらの概念のいくつかは難しいです。私は最初のJavaの本を読んでいて、JOptionPanesの章の後に自分自身を試してみることにしました。そして、私はそれを実行できるかどうかを見るために、作業用のjarファイルとexeファイルが必要でした。もう一度助けてくれてありがとう! – Izodness

関連する問題