0

IntelliJ を IDE として使用して構築している Android クライアント/サーバー プログラムがあります。

サーバーは、テスト用であっても、EC2 ホストで実行されます。さまざまな場所でラップトップで作業していて、どこに行ってもポート転送を設定したくないからです。

すべてのライブラリを再送信せずにサーバーコードを再デプロイして、少し速くする便利な方法があるかどうか疑問に思っています。

サーバーを .jar として実行しています。つまり、 java -jar Server.jar です。

すべてのライブラリを 1 つの jar に入れ、コンパイルされたコードのみを送信することは可能ですか?

別名。

現時点では、jar が 1 つだけあります。

サーバー.jar

でも、2瓶に変更できますか?

libraries.jar サーバー.jar

再アップロードして実行するだけです

サーバー.jar

それはできますか?

* アップデート *

を使用してこれを簡単に達成できることに気付きました

java -cp ./libraries.jar -jar サーバー.jar

しかし、他の誰かが同じ精神的な問題を抱えている場合に備えて、質問はそのままにしておきます

* 更新 2 *

OK、上記は機能しません! 外部ライブラリを無視する -jar コマンドについての奇妙なこと :S (では、なぜ -cp フラグを許可するのか???!! Java は民主主義のようなものです - 他のすべてを除いて最悪の言語です!)

ただし、これは次のことを行います。

java -cp server.jar:libraries.jar server.Server

server.Server はメイン クラスです。

外部 Jar 内のクラスへのアクセスを参照してください

4

1 に答える 1