0

我有一个使用 IntelliJ 作为 IDE 构建的 Android 客户端/服务器程序。

服务器,即使是用于测试,也运行在 EC2 主机上,因为我在各种地方使用笔记本电脑工作,并且不想在任何地方设置端口转发!

我只是想知道是否有一种方便的方法可以重新部署我的服务器代码,而无需重新发送所有库以使其更快一些。

我将服务器作为 .jar 运行,即 java -jar Server.jar

我不知道,是否有可能将所有库放在一个 jar 中并且只发送编译后的代码?

又名。

目前我只有一个罐子:

服务器.jar

但是我可以把它换成两个罐子吗?

库.jar server.jar

我只是重新上传并运行

服务器.jar

可以做到吗?

* 更新 *

刚刚意识到我可以通过使用轻松实现这一点

java -cp ./libraries.jar -jar server.jar

但我会留下这个问题,以防其他人有同样的精神问题

* 更新 2 *

好的,以上不起作用!忽略外部库的 -jar 命令有些奇怪:S (那么为什么允许 -cp 标志???!!Java 就像民主 - 除了所有其他语言之外,最糟糕的语言!)

但是,这样做:

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

其中 server.Server 是主类

请参阅访问外部 Jar 中的类

4

1 回答 1

0

是的,很有可能,这就像一个补丁。

您不需要在单个 jar 中重新组合库(如果它们都是第三方)。

由于您的部署结构已经设置。所以你只需要更换你正在改变的部分。

假设您对 server.jar 的 xyz 类进行了一些更改,然后只需将 server.jar 替换为新的并重新启动服务器。这些变化将反映出来。

于 2013-04-02T04:32:56.493 回答