問題タブ [uberjar]

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.

0 投票する
1 に答える
1186 参照

java - Maven を使用して外部 jar ライブラリを追加するには、次の完全な (外部 jar を含む) パッケージを使用する可能性がありますか?

私は Maven を使用し、外部ライブラリ (すす) を持っています。このライブラリを Maven を使用してプロジェクトに追加し、1 つの uber jar にパッケージ化したいと考えています。

1)ライブラリを追加するには、ローカルリポジトリを使用できます()。

2) 依存関係のある jar を取得するには、shade-plugin などを使用できます。

しかし、最初のステップの依存関係には scope があり、この依存関係は uber jar に追加されないため、一緒には機能しません。

mvn install を実行できることは理解していますが、自分のマシンでしか動作しません。

当初の目標を達成することは可能ですか?

0 投票する
1 に答える
263 参照

database - Failing lein uberjar when reading database from configuration

I am writing a Ring / Compojure app with Clojure that fetches content for pages from database. To be able to create tests for how the content is displayed, I created prod and dev environments and when using dev environment, a mock database is used instead of the production database. I achieve this by reading the database from another file and giving it as a parameter to my routes. Here's a simplified version:

#xA;

The setup is largely taken from the example here, with the addition of setting the database as a parameter.

This setup works great with running the tests with the mock database and displaying real content on prod environment. Things run fine when I start a lein server locally, run tests or any of the functions in lein repl. My problem comes when I'd like to create an uberjar for deploying the changes on my server.

This is where I get a NullPointerException when compiling, starting from (db) function call inside the def app. I've tried debugging with poor success and am not even 100% sure where the actual error is. All I know is the db function is never even called. Here's the stack trace:

#xA;

I'm not the most fluent with Clojure and am working with this app to learn more. Any help for steering me at the right direction from here is greatly appreciated!

0 投票する
2 に答える
2837 参照

jar - Clojure Uberjar がリソース ファイルを読み込んでいない

lein uberjar を使用して、アプリケーションのスタンドアロン jar を作成します。

実行時

次のようにクラッシュします。

次の方法でファイルをロードします。

プロジェクト.clj

resources/configuration.json は、jar のルート フォルダーに配置されます。

0 投票する
2 に答える
678 参照

clojure - Lein uberjar は、私のアプリケーションではなく、repl を実行します

で展開する Clojure/Ring/Clojurescript プロジェクトがありlein uberjar、それを で起動しjava -jar whatever-0.1-standalone.jarます。最近まで、正常に動作していました。

これを起動すると、次のような REPL が表示されます。

Clojure 1.7.0 user=>

それは私のコードベースにあるに違いないと考えて、(gitを使用して)以前は機能していたことがわかっている状態に戻しましたが、問題はまだ発生しています。

問題は私のコードベースにはないので、古いバージョンの leiningen を試してみましたが、まだうまくいきません。

ここに私のproject.cljがあります:

0 投票する
0 に答える
474 参照

clojure - 新しいソースパスを追加した後、lein 2.5.2 uberjar NoClassDefFoundErrorが発生しましたが、それなしで成功しました

jar ファイルの作成に苦労しています。ソース パスを追加しても機能しません。走った

これが私のproject.cljです。少し短くしました。ほとんどの場合、luminusテンプレートが含まれています。

そしてこれが私のメインです

jarファイルを実行します

この例外で死ぬ

clout/core/CompiledRoute が見つからないというエラーが表示されましたが、jar ファイルを抽出するとそこにありました。コンパイルには、uberjar を実行したときに余分なソースパスが 2 回コンパイルされるという奇妙なこともあります。

しかし、プロファイル prod のソース パスを消去すると、正常に動作します。

で実行してみました

同じエラーを受け取りましたが、aot または source-paths のいずれかが削除されていれば、正常に実行されます

実際のプロジェクトがどのように見えるか興味がある場合は、ここにリンクがあります

https://github.com/calvinirwan/codapay/tree/uberjar

0 投票する
2 に答える
236 参照

clojure - jarを実行するときのClojureマクロの奇妙さ

以下は、で作成された単純な Clojure アプリの例ですlein new mw

そしてproject.clj私は持っています

REPL で実行すると、評価は を@fs返します{:macro-f somevalue}。しかし、uberjar を実行すると{}. op定義をdefnの代わりにdefmacroに変更fsすると、uberjar から実行したときに再び適切なコンテンツになります。何故ですか?

これが AOT コンパイルと関係があり、マクロ展開がコンパイル フェーズの前に発生するという事実に漠然と気づいていますが、明らかにこれらのことについての私の理解が不足しています。

mixfix オペレーターがグローバル アトムを使用して定義されている、非常に優れたmixfixライブラリを使用するアプリケーションをデプロイしようとしているときに、この問題に遭遇しました。問題を上記の例に切り分けるのにかなりの時間がかかりました。

どんな助けでも大歓迎です。

ありがとう!