質問

あのツールやスクリプトを容易に合っ JAR ファイルを一つのJARファイルとは何ですか?ボーナスも簡単にファイルのマニフェストで実行形式にまとめたものです。

のコンクリートの場合は Javaは再編をテキストツール.うしで実行するようなもの:

java-jar rst.jar

調査を実施しているのは、同じように、この依存関係を示すことなく単一のファイルがダウンロードしたZIPファイルを多く含みます。

      0  11-30-07 10:01   jrst-0.8.1/
    922  11-30-07 09:53   jrst-0.8.1/jrst.bat
    898  11-30-07 09:53   jrst-0.8.1/jrst.sh
   2675  11-30-07 09:42   jrst-0.8.1/readmeEN.txt
 108821  11-30-07 09:59   jrst-0.8.1/jrst-0.8.1.jar
   2675  11-30-07 09:42   jrst-0.8.1/readme.txt
      0  11-30-07 10:01   jrst-0.8.1/lib/
  81508  11-30-07 09:49   jrst-0.8.1/lib/batik-util-1.6-1.jar
2450757  11-30-07 09:49   jrst-0.8.1/lib/icu4j-2.6.1.jar
 559366  11-30-07 09:49   jrst-0.8.1/lib/commons-collections-3.1.jar
  83613  11-30-07 09:49   jrst-0.8.1/lib/commons-io-1.3.1.jar
 207723  11-30-07 09:49   jrst-0.8.1/lib/commons-lang-2.1.jar
  52915  11-30-07 09:49   jrst-0.8.1/lib/commons-logging-1.1.jar
 260172  11-30-07 09:49   jrst-0.8.1/lib/commons-primitives-1.0.jar
 313898  11-30-07 09:49   jrst-0.8.1/lib/dom4j-1.6.1.jar
1994150  11-30-07 09:49   jrst-0.8.1/lib/fop-0.93-jdk15.jar
  55147  11-30-07 09:49   jrst-0.8.1/lib/activation-1.0.2.jar
 355030  11-30-07 09:49   jrst-0.8.1/lib/mail-1.3.3.jar
  77977  11-30-07 09:49   jrst-0.8.1/lib/servlet-api-2.3.jar
 226915  11-30-07 09:49   jrst-0.8.1/lib/jaxen-1.1.1.jar
 153253  11-30-07 09:49   jrst-0.8.1/lib/jdom-1.0.jar
  50789  11-30-07 09:49   jrst-0.8.1/lib/jewelcli-0.41.jar
 324952  11-30-07 09:49   jrst-0.8.1/lib/looks-1.2.2.jar
 121070  11-30-07 09:49   jrst-0.8.1/lib/junit-3.8.1.jar
 358085  11-30-07 09:49   jrst-0.8.1/lib/log4j-1.2.12.jar
  72150  11-30-07 09:49   jrst-0.8.1/lib/logkit-1.0.1.jar
 342897  11-30-07 09:49   jrst-0.8.1/lib/lutinwidget-0.9.jar
2160934  11-30-07 09:49   jrst-0.8.1/lib/docbook-xsl-nwalsh-1.71.1.jar
 301249  11-30-07 09:49   jrst-0.8.1/lib/xmlgraphics-commons-1.1.jar
  68610  11-30-07 09:49   jrst-0.8.1/lib/sdoc-0.5.0-beta.jar
3149655  11-30-07 09:49   jrst-0.8.1/lib/xalan-2.6.0.jar
1010675  11-30-07 09:49   jrst-0.8.1/lib/xercesImpl-2.6.2.jar
 194205  11-30-07 09:49   jrst-0.8.1/lib/xml-apis-1.3.02.jar
  78440  11-30-07 09:49   jrst-0.8.1/lib/xmlParserAPIs-2.0.2.jar
  86249  11-30-07 09:49   jrst-0.8.1/lib/xmlunit-1.1.jar
 108874  11-30-07 09:49   jrst-0.8.1/lib/xom-1.0.jar
  63966  11-30-07 09:49   jrst-0.8.1/lib/avalon-framework-4.1.3.jar
 138228  11-30-07 09:49   jrst-0.8.1/lib/batik-gui-util-1.6-1.jar
 216394  11-30-07 09:49   jrst-0.8.1/lib/l2fprod-common-0.1.jar
 121689  11-30-07 09:49   jrst-0.8.1/lib/lutinutil-0.26.jar
  76687  11-30-07 09:49   jrst-0.8.1/lib/batik-ext-1.6-1.jar
 124724  11-30-07 09:49   jrst-0.8.1/lib/xmlParserAPIs-2.6.2.jar

ご覧のとおりであるのは望ましいが必要なことです。

ここまでみたAutoJarとProGuardがあったらどうだろうかかなりやすい。れのある問題の定数プール、JARファイルです。

うjrstは若干の折れたので、まだ行きます。の Maven pom.xml ファイルが壊れたようになっていただくとわかると思い直される前に固定jrst...ような感じのバグマグネット:-)


更新:いかもしれないけど周りの固定にはこのアプリケーションですが、外に出たのだけれど、ふるさ Eclipse's"Runnable JAR輸出ウィザード"ではこのように脂肪JAR.この非常に使いやすい展開に自分のコードです。

一部、その他の優れた提案は多めの方が良いでしょうめのビルドを非Eclipse環境では、osれを是正しなければならないもの構築を Ant.(Maven、これまでのところばかりから南北朝時代にかけての痛みが、その他の愛とても感じが良かったです。

役に立ちましたか?

解決

Eclipse3.4JDTのRunnable JAR輸出ウィザードを閉じます。

Eclipse3.5こ延長しましたのでご案内します。今をお選びいただきたい味を参照されるJARファイルです。

他のヒント

Antの zipfileset の仕事

<jar id="files" jarfile="all.jar">
    <zipfileset src="first.jar" includes="**/*.java **/*.class"/>
    <zipfileset src="second.jar" includes="**/*.java **/*.class"/>
</jar>

有うさまざまなソリューション、 一JAR 最も簡単な作っていくこを単一の実行可能JARを含んでお世話になりたいと思います。

一のJARを使用しカスタムクラスローダを移動することができ入れ子資源です。見てみます。batファイルのダウンロードなんだかとってもおいしそうにorg.codelutin.jrst.JRSTのjrst-0.8.1.jar がメインのクラスは、マニフェストはこのようになっているでしょう:

Main-Class: com.simontuffs.onejar.Boot
One-Jar-Main-Class: org.codelutin.jrst.JRST

の本当にカッコいいところですが-JAR取り扱通コマンドライン引数です。るclasspathの取り扱いによるカスタムクラスローダを想定し、すべてのリソースに必要なはずの、単一のJAR.

呼び出すもっとも簡単な方法の一JARはant;がカスタム"につjar"antタスクを次のとおマニフェストを"rst.mf):

<target name="jar-rst">
    <one-jar destfile="rst.jar" manifest="rst.mf">
        <main jar="jrst-0.8.1.jar" />
        <lib>
            <fileset dir="${pathToJars}">
                <include name="batik-util-1.6-1.jar" />
                <include name="icu4j-2.6.1.jar" />
                <include name="commons-collections-3.1.jar" />
                <!-- Snip -->
            </fileset>
        </lib>
    </one-jar>
</target>

の場合 Maven ユーザーは、組み立てプラグインいたいのか、または潜在的に日陰にプラグインは、もある程度可能であり、組み合わせです。

の組み立てプラグインをお付けしたマニフェストファイルをプロジェクトの任意の必要な設定はデフォルトは通常かなり良いです。ビルを行ってい

mvn assembly:assembly

きましては特別なものへの対応、その他。すべてのJARファイルを選んだMavenの依存関係のリゾルバー.ご利用の場合は陰プラグインで通常のインストール目標は、特定のプロジェクト今やってい

mvn install
mvn assembly:single

assembly:single 目標は、作寿命の問題、この場合に 願います。

利用できる JarJar を使用するパッケージのシャドーイングしていJARファイルに抵触しない。

はありま ProGuard を行いながらパーティーのJARファイルを一つでも最適化したり、清掃、または蓑クラスファイルは、そのJARファイルよりもはるかに小さく和のすべてのJARファイルです。

私はProGuardのJRSTツールです。またトラックの問題、という見解を示したために関係し バグ のICU4J図書館によって参照されるjrst.問題は、このICUのversionが古います。その icu.jar ファイルICU4Jバージョン3.2.今ProGuardが々ソフトバンクグループはエラー/警告incosistenciesの図書館のJRST.

私の推測ではProGuardとが見込まれますが、その図書館jrstはずです。わからない場合も多くり話をし、その開発者からは、その更新の依存関係のプロジェクト.

(Andrian):

<jar id="files" jarfile="all.jar">
  <zipgroupfileset dir="${library.dir}" includes="*.jar" excludes="test-helper.jar"/>
  <zipfileset src="first.jar" includes="**/*.java **/*.class"/>
  <zipfileset src="second.jar" includes="**/*.java **/*.class"/>
  <fileset dir=".">
    <include name="LICENSE"/>
    <include name="NOTICE"/>
  </fileset>
</jar>

一JAR0.97させていただいた仲なのでで http://one-jar.sourceforge.net, で広範な支援の枠組みなど Guice, は、現在のトラブルへのその他のアプローチ。でも取り扱っていますclassloader-反転があJARファイルは外部のJAR(例えば、 JDBC ドライバーにお問い合わせください出荷梱).

一JARはコマンドライン AntMaven 2plugins.でも簡単に作用の"jar"ツールです。

できるのもおすすめのEclipse Jar輸出国(Runnable)をFerence Hechler書き:ったのは、簡単なアプローチのラッピングのセットのJARファイルです。彼が勤めていたんですが、ちょうど一のJARが、Jar輸出業者は別のコードベース.

があるというツール autojar スキャンおbytecode、コンパイル。jarファイルの授業できるようにするためのlibsoupおよ含む参照(輸入)。

い作品のようなもの春ものが指定すclassnames設定から読み込んの枠組み

のMavenの組立プラグインmvn組み立て:組み立て)

というツールが必要で JarSplice: http://ninjacave.com/jarsplice

とまりん ない 必要とAntまたはMavenがあり、それぞれのGUIで簡単に利用などの問い--> で合併し、コンテンツの複数のjarファイル一つ一つに (あらかじめご了承くださいまだに追加する必要があり、独自のクラスローダ).

のものを使用できるmavenプラグインの陰影になる。私はよく利用mavenの構築ンのjarファイルで強力な

詳しくは:

http://maven.apache.org/plugins/maven-shade-plugin/examples/includes-excludes.html

音のように Apache Ant えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top