19

私は NetBeans 6.5 を使用していますが、何らかの理由で、実行可能な jar が「すぐに」生成されません。

プロジェクトをメイン プロジェクトに設定し、プロジェクト プロパティの [実行] メニューでメイン クラスを定義しました。F6 を押して実行すると問題なく動作します。

マニフェスト ファイルを確認したところ、実際にはメイン クラスが定義されておらず、ライブラリの依存関係も省略されていました。



何か不足していますか?マニフェスト ファイルを手動で変更する以外に、実行可能な jar ファイルを生成する方法はありますか?

編集:はい、クリーンと再構築を試みましたが、dist フォルダーに jar が作成されましたが、まだ同じ manifest.mf です。

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 10.0-b23 (Sun Microsystems Inc.)
4

17 に答える 17

7

Maven Java Application プロジェクトを使用して、NetBeans 7.2.1 で同じ問題が発生しました。pom.xml ファイルを変更して、myrho の回答に微調整を加えたMaven アセンブリ プラグインを含めます (定義済みの記述子「jar-with-dependencies」を参照する必要があります)。

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>your.app.MainClass</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

もう 1 つの方法は、Maven を使用しない NetBeans で Java アプリケーション プロジェクトを構築することです。File -> Project Properties -> Build -> Packaging を選択し、"Copy Dependent Libraries" チェックボックスをチェックします。

于 2013-01-26T01:48:05.370 に答える
6

これを試して:

  1. 「プロジェクト」パネルでプロジェクトを右クリックし、「プロパティ」を選択します

  2. 新しいウィンドウで「実行」をクリックします。

  3. [メイン クラス:] フィールドを編集します ([参照] をクリックします)。

このようにして、アプリケーションへのエントリ ポイントであるメイン クラスを選択すると、マニフェストが正しく作成されます。

于 2009-10-13T12:46:49.403 に答える
6

Maven アセンブリ プラグインを使用していて、依存関係のある実行可能な jar をビルドする場合は、pom.xml の maven-assembly-plugin セクションの構成にこの部分を追加する必要があります。

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <configuration>
    <!-- ... -->
    <archive>
      <manifest>
        <mainClass>your.app.SampleClass</mainClass>
      </manifest>
    </archive>
  </configuration>
</plugin>

ソース: Maven アセンブリ プラグインの使用法

于 2013-01-14T17:36:30.233 に答える
4

非常に単純です。.jar ファイルと .jad ファイルはdistフォルダーにあります。

私も答えを探していて、これをhttp://forums.netbeans.org/ptopic3465.htmlから入手しました

解決しました:)

于 2010-10-18T10:22:42.093 に答える
2

プロジェクトをクリーンアップして再構築しましたか? あなたはそれを正しくやっているように聞こえます。念のため、いくつかの参考文献を以下に示します。

http://www.velocityreviews.com/forums/t141385-how-to-create-executable-jar-in-netbeans-ide.html http://dr.berkeley.edu/REM/wiki/index.php/Making_a_Java_executable_jar_in_Netbeans

于 2009-03-02T14:38:04.450 に答える
1

プロジェクトをクリーンアップしてビルドする場合は、「dist」ディレクトリにjarを作成する必要があります。

プロジェクトディレクトリの最上位にmanifest.mfを作成する必要があります。

于 2009-03-12T14:39:43.830 に答える
1

Java アプリケーションではなく、既存のソースを使用して Java プロジェクトを作成したのではないでしょうか?

同様の問題があり、新しいJavaアプリケーションを作成してからsrcファイルを手動でコピーすると問題が解決しました-すべてが「箱から出して」機能しました。

于 2009-09-21T22:46:24.180 に答える
1

私は実際に同じ問題に遭遇した後、このページに出くわしました.manifest.mfファイルを編集しましたが、変更はjar MANIFEST.MFファイルに表示されませんでした. 私が抱えていた問題を見つけたので、関連性がある場合に備えて情報を伝えようと思いました.

私が間違っていたのは、作業中のプロジェクトをメイン プロジェクトとして設定していなかったため、正しいマニフェストを編集しているときに、間違ったプロジェクトをコンパイルしていたことです。

では、編集中の manifest.mf ファイルに対して正しいプロジェクトが選択されているかどうかを確認しましたか?

于 2009-07-23T21:09:46.347 に答える
0

ファイルビューに移動します。ルートディレクトリにmanifest.mfを作成します。

/project_folder
    build.xml
    manifest.mf(edit here)
    /dist
    /src
    /test
    /build
于 2009-03-11T17:21:14.530 に答える
0

プロジェクトの種類によってビルドプロセスが異なるという経験がありました。

「Javaクラスライブラリ」プロジェクトを作成したと思います。

したがって、「Javaアプリケーション」プロジェクトを作成してから、すべてのクラスをそれにマージします。

次に、Netbeansはオーバーライドしませんが"manifest.mf"、JARに拡張します。

もちろん、これは愚かなNetbeansのバグです。もちろん、後でメインクラスを追加することも可能です。

編集:私の他の答えを見てください。簡単です。

于 2009-09-29T09:58:18.443 に答える
0

より良い解決策:

nbproject / project.propertiesを編集し、エントリを追加します。

manifest.file=manifest.mf

manifest.mfプロジェクトのルートにあり、次のものだけが含まれている必要があります。

Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build

動作します。テスト済み。

于 2009-09-29T10:01:36.990 に答える
0

完全に別のアプローチは、NetBeans で単体テストなどを開発、実行し、その後、maven または ant スクリプトを使用して「実際の」ビルドを行うことです。これらの種類のビルド ツールを使用すると、ビルド方法をより詳細に制御できるようになり、ビルドを自動化することもできるようです。

Maven の場合、maven jar プラグインを使用してマニフェストにエントリを簡単に追加できます。

http://maven.apache.org/plugins/maven-jar-plugin/

于 2009-03-05T15:52:32.810 に答える
0

7.3 では、Properties/Build/Package/Copy Dependent Libraries を有効にするだけで、メイン クラス (選択したターゲットに応じて) がビルド時にマニフェストに追加されます。

于 2013-04-20T01:37:16.263 に答える
0

興味深い情報がここにあるかもしれません:

http://wiki.netbeans.org/FaqNoMainClass

于 2009-10-22T14:57:07.390 に答える
0

確かに奇妙なことに、クラスパスを含めてすぐに使用できるはずです。

以前のバージョンからアップグレードしましたか? アップグレードの際、NB はプロジェクト ファイルをアップグレードしますが、この移行がうまくいかず、この種のシナリオがポップアップすることがあります。プロジェクトを閉じて、nbproject ディレクトリの名前を nbproject_old に変更し、新しいプロジェクト -> 既存のソースを使用した Java プロジェクトを実行します。メイン クラスを再度設定し、依存関係を追加して、再試行してください。

于 2009-03-02T18:09:49.057 に答える
0

NetBeans IDE 8.0.2 でパッケージの作成を手動で強制するには ...

  1. プロジェクト ナビゲーターで < project > を展開し、Project Files / pom.xml を右クリックします。
  2. Maven / ゴールの実行をクリックします
  3. 目標フィールドに「パッケージ」と入力します
  4. [OK] をクリックします。

出力ウィンドウに (Mac の場合) ... が表示されます。

Building jar: /Users/<username>/NetBeansProjects/<project>/target/<project>-1.0-SNAPSHOT.jar
于 2015-04-15T20:54:32.853 に答える