回答:
IntelliJ 10でjarを作成する方法は次のとおりですhttp://blogs.jetbrains.com/idea/2010/08/quickly-create-jar-artifact/
File-> Project Structure-> Project Settings-> Artifacts->クリックgreen plus sign-> Jar->From modules with dependencies...
上記は、「スケルトン」をjarの保存先に設定します。実際にビルドして保存するには、次のようにします。
ターゲットJarに抽出します
OK
ビルド| アーティファクトを構築する| ビルド
から.jarファイルを抽出してみてください
ProjectName | アウト| アーティファクト| ProjectName_jar | ProjectName.jar
これはまだ2017年の問題です。誰かの役に立てば幸いです。IntelliJ 2017.2で動作するjar-sを作成する2つの可能性を見つけました
1. IntelliJからアーティファクトを作成します。
マニフェストディレクトリを変更する必要があります。
<project folder>\src\main\java
「java」を「resources」に置き換えます
<project folder>\src\main\resources
これは次のようになります。
次に、jarにパックする依存関係を選択するか、jarファイルの近くに配置します
アーティファクトをビルドするには、アーティファクトをビルドし、「再構築」を選択します。jarファイルとその依存関係を含む「out」フォルダーが作成されます。
2. maven-assembly-pluginを使用する
ビルドセクションをpomファイルに追加する
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>ServiceCreate</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>com.svt.optimoo.App</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
この手順により、「ターゲット」フォルダの下にjarファイルが作成されます
no main manifest attribute
上記のソリューションを採用しました。誰もの変更について言及していませんpath to manifest
。Thnx !!
私は最近この問題を抱えており、以前の解決策やリンクに詳細が欠けている場合は、これらの手順に従うのは簡単だと思います。
.jar
IntelliJ IDEA 14.1.5を使用してを作成する方法:
以下は、Mavenプロジェクトの2つの例です。
pom.xmlで、maven-jar-pluginを追加します。
<plugin>
<!-- Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>somePackage.sample</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
画面キャプチャ: 4.検索アイコンをクリックしてmavenプロジェクトボックスを開き、mavenと入力します。
MANIFEST.MFはリソースフォルダーにあり、Main.Classは{package}-{class-name-that-contains-main-class}を参照する必要があります
おそらく少し遅れますが、私はこの方法で解決できました-> winrarで開き、META-INFフォルダのECLIPSEF.RSAとECLIPSEF.SFを削除し、さらに "Main-class:main_class_name"( ".class"なし) )MANIFEST.MF内。最後の行の後で「Enter」を2回押したことを確認してください。そうしないと機能しません。
マルチモジュールのKotlinアプリからjarをビルドしようとしていて、悪名高い「メインマニフェスト属性がありません」エラーが発生していました。のマニフェストディレクトリの作成src/main/resources
も機能しませんでした。
代わりに、src
直接作成するときに機能しますsrc/META-INF/MANIFEST.MF
。
Mavenでは、このプラグインを使用できます。
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>[path you class main]</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Maven(http://maven.apache.org)をご覧ください。これをアプリケーションのメインビルドプロセスとして使用することも、[構成の編集]ダイアログで特定のタスクを実行するためだけに使用することもできます。Maven内でモジュールのJARを作成するプロセスは、自明なJARにすべての依存関係を含めたい場合は、かなり簡単です。
これまでにMavenを使用したことがない場合は、Better Builds With Mavenをお読みください。
プロジェクトでサードパーティのライブラリを使用している場合、またはMANIFEST.MFファイルを正しく作成できない場合は、次を使用して生成されたJARファイルを実行すると競合が発生する可能性があります。
File > Project Structure > Artifacts > '+' > JAR > From modules with dependencies > .....
上記の方法。
代わりに、空のJARを作成し、他のすべての要素を出力ルートに手動で追加することをお勧めします。この方法についての素晴らしいブログ記事はここにあります:http : //karthicraghupathi.com/2016/07/10/creating-an-executable-jar-in-intellij-idea/私はそこに記載されている手順を試しましたが、すべてうまくいきました私のために!
IntelliJ IDEAプロジェクトをMavenプロジェクトから再インポートするとすぐに、他のいくつかの回答は役に立たなくなります。すべての変更は失われます。
jarのビルドは、プロジェクトの設定ではなく、実行/デバッグ構成によってトリガーされる必要があります。
Jetbrainsには、ここでこれをどのように達成できるかについての良い説明があります。
https://www.jetbrains.com/help/idea/maven.html
「Mavenゴールのトリガーの設定」というセクションまでスクロールします。
(彼らの説明の唯一の欠点は、スクリーンショットが超素晴らしいダルキュラのテーマではなく、デフォルトの黒地に白の配色であることです。うーん!)
つまり、基本的には、「Mavenプロジェクト」パネルを開いて、目的のプロジェクト(この場合はjarを構築するプロジェクト)を見つけ、その下に実行するmaven目標を見つけます。 、(通常は「パッケージ」の目標はjarを作成します)、その上でコンテキストメニューを開き(Windowsマシンを右クリック)、[実行/デバッグの前に実行...]オプションを使用できます。選択すると、そこから手で移動します。本当に簡単です。
私の問題はこれでした:私はIntellij IDEA(異なるバージョンを試しました)+ Gradleを使用しました。上記の応答に示されているように、プロジェクトをコンパイルしてartifacf jarをビルドすると、「メインのマニフェスト属性がありません...」というエラーが表示されました。
この解決策は私にとってうまくいきました(特にチップについてはThilina Ashen Gamage(上記を参照)に感謝します):
抜粋-外部ライブラリを使用し、プロジェクト設定-アーティファクト-追加(+)-JAR-依存関係のあるモジュールからプロジェクトをビルドする場合、おそらくプログラムのバグが原因で、MANIFEST_MFファイルを含むMETA-INFフォルダーがjarに含まれていません。それを避けるために EMPTY jarファイルをます。
プロジェクト設定-アーティファクト-追加(+)-JAR-空のJAR。META-INFフォルダーがリソースフォルダーに追加されます。次に、メインクラスを選択します。次のjar構造が表示され ます。META-INFフォルダーの存在に注意してください。プロジェクトをビルドしてアーティファクトをビルドできます。このソリューションは、javaFXアプリケーションでも機能しました。
AntとMavenは広く使用されています。私はAntを好む、私はそれがより軽量で、あなたが開発者がより制御していると感じています。それが欠点だと示唆する人もいます:-)