問題タブ [jarjar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - コマンドラインから jarjar を使用するには?
コマンドラインから jarjar を使用して単純な Scala プログラムを scala ランタイム ライブラリと組み合わせるのに問題があります。
jarjar は依存関係を正しく検出します。
ただし、それらを組み合わせても機能しません。
私が得る jar ファイルはまだ scala-library.jar に依存しています。CLASSPATH 変数を追加するかどうかは関係ありません。私の rules.jjl ファイルは次のようになります。
何をすべきか?
java - 依存関係のある jar の縮小
私はa.jar、b.jar、c.jar、d.jarとしてたくさんのjarを持っています。a.jar は残りの jar を使用しています。私は a.java で Test.java を使用しており、残りの jar は a.java で使用されています。
必要なクラスだけを含む小さな瓶を作りたいです。実際、jarjar ツールに気付きましたが、そのドキュメントは光沢がありません。
ちなみにmavenは使ってません。
何か助けはありますか?
ありがとう
maven - アーティファクトを使用しても推移的な依存関係がプルされない場合、MavenでJarJar'dアーティファクトを作成する方法は?
私は現在、Maven でビルドされ、jar として配布されている Java テスト ライブラリを持っています。私のプロジェクトは非常に一般的なライブラリ (Objectweb ASM) に依存しており、互換性のない以前のバージョンの ASM が既にクラスパスにあるという問題が発生しました。したがって、jarjar-maven-pluginを使用して jar を作成し、別のバージョンの ASM と競合しないように ASM を内部的に再パッケージ化しました。
これは正常に実行され、私のライブラリは依存関係として問題なく取り込めます。
ただし、私のプロジェクトには ASM に対するコンパイル スコープの依存関係があるため、クライアント プロジェクトが私のライブラリを追加するたびに、推移的な依存関係もすべて取り込まれます。したがって、仮に、彼らが特定のバージョンの ASM を使用していて、私が依存しているバージョンもクラスパスに追加した場合、未定義の動作が発生します。この状況を回避し、Maven が推移的な依存関係を不必要かつ潜在的に危険にさらすことなく、クライアントが JarJar'd アーティファクトに依存できるようにしたいと考えています。
ユーザーが推移的な依存関係を取得せずに依存できる JarJar'd アーティファクトを作成するにはどうすればよいですか?
java - Android:javaxコアクラスを参照する依存関係の包含/再パック中にエラーが発生しました
ビルドツールとしてMavenを使用してAndroidアプリに取り組んでいます。私はevertyhingを正しく設定することができました(mavenの依存関係はapkなどにエクスポートされます)が、私を夢中にさせている問題が1つ残っています。
次のように定義されたsimpleframeworkのxmlパーサーへの依存関係をPOMファイルに含めたいと思います。
プロジェクトを発行mvn install
すると、次のエラーが発生します(切り捨てられます)。
これらのjavaxクラスを参照する単純なxmlパーサーのエラーの結果はわかっていますが、まだ解決策が見つかりません(--core-libraryフラグを設定しても意味がありません)。
現在、maven-jarjar-plugingを使用して依存関係を再パックしようとしていますが、これも機能しないようです。
誰かがこれで私を助けることができますか?よろしくお願いします!
java - Maven JarJar Plugin:「提供された」スコープを除外しますか?
Maven JarJar プラグインで「提供された」スコープ内のアイテムを除外する方法はありますか? これは非常に簡単に思えます...何かが提供されている場合、なぜそれをメガジャーに含めたいのでしょうか?
ant - すべてのjarに対して手動で指定せずに、zipfileset src属性を使用するにはどうすればよいですか?
私は現在これを持っています:
問題は、srcパラメータを考慮する必要があるため、各jarを手動で指定する必要があることです。私はこのようなものが欲しいです:
そして、それらのコンテンツを抽出して、結果のアーカイブに含めます。これは可能ですか?
java - jarjar を使用してデフォルト パッケージから .class ファイルを再パッケージ化する方法は?
jar 内の .class ファイルをデフォルト パッケージから別の名前付きパッケージに移動して、インポートして使用できるようにすることはできますか?
ここで他の質問を参照した後、jarjar がまさに探しているものであると思いますが、どのように使用できるかわかりません。
私の質問は、jarjar を使用して .class ファイルをデフォルト パッケージから別の名前付きパッケージに再パッケージ化する方法です。
編集:何かを明確にしたい-再パッケージ化するjarのソースがないため、コードを再コンパイルする方法がわかりません。難読化と反射は問題外です。
EDIT2:jarjarを使用するのは非常に簡単に見えます:) java -jar jarjar.jar process rules.rules in.jar out.jar
rules.rules は次のようになります。
問題が解決しました!
ant - JarJarLinksで空のディレクトリを除外する
Jar Jar LinksのAntタスクを使用して、サードパーティのjarファイル(objenesis)のクラスを配布可能なjarファイル(example.jar)に埋め込みます。Jar Jarは、クラスを元のパッケージ(org.objenesis)から私の選択したパッケージの1つに変換します。
動作しますが、配布可能なjarに空のディレクトリが残ります。
簡略化されたbuild.xmlは次のとおりです。
example.jarのコンテンツのサンプルには、(予想どおり)次のものが含まれます。
しかし、これらの空のディレクトリ(望ましくない):
私の質問:これらの空のディレクトリを除外するにはどうすればよいですか?
「zap」オプション(ドキュメントに記載)を試しましたが、うまくいきませんでした。
gson - GSON + HTC Desire:競合。考えられる解決策jarjar.jarはエラーを引き起こします
AndroidアプリでGSONを使用しようとしていますが、クラッシュが発生します。いくつか読んだ後、HTCにはGSONが含まれているようで、それが競合を引き起こしています。提案された解決策の1つは、jarjar.jarを使用してgsonクラスの名前を変更し、競合を解決することでした。これを実行しようとすると、次のエラーが発生します。
構文エラー:1行目のエラー:[{\ rtf1 \ ansi \ ansicpg1252 \ cocoartf1038 \ cocoasubrtf360]
私が実行しているコマンド:
java-jarjarjar-1.2.jarプロセスrules.txtgson-2.1.jarmyjson-2.1.jar
rules.txt:ルールcom.google.gson。**com.google.myjson。@1
何か案は?