2009-10-28 4 views
18

私は同じパッケージ内に2つのクラスを持っています。どちらのクラスにも主なメソッドがあります。今、jarファイルを作成したいと思います。私は2つのjarファイルをビルドしたいと思います。Javaのデフォルトメインクラスを設定する方法は?

例えば

class A 
{ 
    public static void main(String args[]) 
    { 
    //do something 
    } 
} 

class B 
{ 
    public static void main(String args[]) 
    { 
    //do something 
    } 
} 

私は、NetBeans IDEでそれをどのように行うのですか?

答えが見つかりました。 Uは簡単にnetbeansで行うことができます: 1)プロジェクト>プロパティ>実行を右クリックし、クラスfrmとドロップダウンリストを選択します。ネットビーンで簡単です。ネットビーンズの岩!

+0

私のためには機能しません。私はクラスAに設定しましたが、まだ古いクラスを実行しています。私はそれがバグだと信じています。だから私はネットビーンズが嫌いです。それは簡単なことを難しくする。 – Alex

+0

この回答は私のために働いた。クラスにメインを置くだけで、NetBeansがそれを検出して実行します –

+0

Eclipse用(これはGoogleで表示されます):https://stackoverflow.com/a/12811633/1599699 – Andrew

答えて

19

jarファイルであなただけのjarファイルが実行可能で、あなたのmanifest.mft

Main-Class : A 

にこれを追加することができますし、正しいメインを呼び出します。あなたはこれを見てすることができますNetBeansでこれを行う方法の

Producing executable jar in NetBeans

1

あなたはどのあなたが自動的に実行したいファイルを指すようにjarファイルのマニフェストにMain-Class属性を設定することができます。

0

これをAntスクリプトで処理することをお勧めします。 2つのjarファイルに対して2つの異なるタスクを作成できます。最初のjarのマニフェストファイルでクラスAをメインクラスとして指定します。同様に、クラスBを第2のjarのマニフェストファイルのメインクラスとして指定します。

あなたはAntタスクをNetbeansから簡単に実行できます。

3

実行可能な2つのJARファイルを作成する場合は、それぞれに独自のマニフェストファイルがあり、マニフェストファイルごとにmain()メソッドを含むクラスを指定して実行を開始します。各JARファイルで

、マニフェストはJAR内の次のパス/名前のファイルになります - META-INF/MANIFEST.MF

JAR command-line parametersを使用してJARのマニフェストとして代わりに指定されたファイルを指定する方法があります。

使用する特定のクラスは、META-INF/MANIFEST.MFファイル内でMain-Class: package.classnameを使用して指定します。

Netbeansでこれを行う方法は - 私の頭の上からはわからない - 私は通常IntelliJやEclipseを使い、通常ANTやMavenを使ってJARを構築する。

1

作成したい2つのjarファイルがほとんど同じで、唯一の違いがそれぞれから起動するメインクラスである場合、すべてのクラスを3番目のjarファイルに入れることができます。次に、それぞれにマニフェストを持つ2つのjarファイルを作成します。 MANIFEST.MFファイルで、Main-Class属性を使用してエントリクラスに名前を付けます。

さらに、Class-Path属性を指定します。この値は、すべての共有コードを含むjarファイルの名前にする必要があります。次に、3つのjarファイルをすべて同じディレクトリにデプロイします。もちろん、サードパーティのライブラリをお持ちの場合は、Class-Path属性にリストすることもできます。

5

瓶は、各定義されたメインとクラス1とクラス2を持って、あなただけのこのようなJavaを呼び出すことができます:あなたはJavaへの他のオプションを指定する必要がある場合

java my.jar class1 

java my.jar class2 

だけで作る彼らはmy.jarの前にあることを確認

java -classpath my.jar class1 
+5

'java -classpath my.jar class1'実際に 'Main-Class'が設定されていないJARを実行することができます。 –

19

[プロジェクト]ウィンドウでプロジェクトノードを右クリックし、[プロジェクトのプロパティ]を選択します。 あなたはメインクラスをセットアップすることができます**実際にはnetbeansのデフォルトヘルプから手に入れました

+0

これを行うには良いショートカット – toxicate20

0

コメントとして、私は顧客がjarでクラスを実行できるようにしなければなりませんファイルを変更できませんでした(そうすることはできませんでした)。アンソニーとサミー・デラックスさんのコメントによるポストのおかげで、これは顧客が今、特定のクラスのメインにアクセスするために実行できるものです:プログラムをビルドして実行する

java -cp c:\path\to\jar\jarFile.jar com.utils.classpath -e -v textString 
0

F11キーを押し。プログラムを実行すると、クラスのリストが表示されます。リストからメインクラスを選択し、[OK]をクリックして実行します。

8

プロジェクトを右クリックして[設定の設定]、[カスタマイズ]を選択すると、メインのクラスを選択できます。 ScreenShot

関連する問題