今日Java Libraryを作成しました。IntelliJIDEA 14から追加を求められたため、Mainクラスを使用して作成しました。ただし、メインクラスのない通常のライブラリである場合メインメソッドを持つ単一のクラスがなくても、そのようなプロジェクトからjarファイルを作成することはできますか?できる場合、そのようなjarをどのように作成しますか。
あなたがそれを決して使用しないのであれば、メインメソッドを持つことはちょっとばかげているように思えます。
コマンドライン、IDE、Maven、その他のビルドツールなど、いくつかの方法で実行できます。2つの方法について説明します。
コマンドライン:
コマンドラインからIDEなしでjarファイルを作成できます。ここに参照があります: https://docs.Oracle.com/javase/tutorial/deployment/jar/build.html
_jar cf jar-file input-file(s)
_
ここで、_jar-file
_は必要な.jarファイル名であり、input-file(s)
はライブラリ内に配置するファイルです(たとえば、_*.class
_などのワイルドカードを使用できます)。
Intellij Idea:
この記事のようにアーティファクトを作成しますが、メインクラスは指定しません http://blog.jetbrains.com/idea/2010/08/quickly-create-jar-artifact/
次に、[ビルド]> [ビルドアーティファクト]> [ビルド]をクリックします。
これは、Mainクラスがなくても機能します。
ShavenプラグインでMaven(IDE依存関係はありませんが、IDEから便利です)から呼び出すことができます)のビルドツールを使用して、「uber」JAR(必要なすべての依存関係をプロジェクトの1つの最終JARに含めます)...
「pom.xml」
...
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<!-- Run shade goal on package phase -->
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
Shadeプラグインのドキュメント: