私は独特のビルド状況を持っています。私はlein uberwar
自分のリング アプリケーションから戦争を構築し、beanstalk にデプロイするために使用しています。これはすべてうまくいっています。ここで、ビルドを管理する svn リポジトリにコードをプッシュする必要があることが要件として出てきますが、これは clojure について何も知りません (Java のみ)。それは巨大な官僚組織であり、その構築プロセスはすでに整っているためlein
、サーバーにインストールすることは現在問題外です. lein はフードの下で maven を使用していることを知っているので、これが理論的には機能することはわかっていますが、このプロセスのいくつかのステップについてはまだ疑問があります。
私はlein-ringで war構築プロセスを実行しましたが、主なハングアップは、サーブレットとリスナーのクラスが web.xml と共に生成されることです。このタスクを実行する Java ファイルを提供できると思いますが、それらの Java ファイルに含まれるものと、最終的にプロジェクトの構造内のどこに存在するかについては不明です。究極の戦争で生成される servlet.clj および listener.clj ファイルを見ると、それらは非常に単純に見えますが、この例は既に存在するのでしょうか?
もう 1 つの大きなハードルは、war プロセスがclojure.core/compile
プロジェクトの名前空間を呼び出すことです。これにより、clojure ソースからすべてのクラス ファイルが生成されます。Maven からのビルド中にこのコンパイルをトリガーする方法はありますか? 私はコンパイルを clojure.core/compile にファームアウトする Java クラスをほとんど想像していますが、java から clojure を呼び出すことの内外 (通常の流れの方向) や挿入方法についてはよくわかりません。これは、基本的な Maven ビルド プロセスへのステップです。
このいずれかについてどこから始めるべきかについての洞察は大歓迎です! 皆さんありがとう。