我将服务器和客户端代码保存在 Eclipse 的同一个项目中。他们两个的库都包括在内。客户端的图像也被添加到构建路径中。
现在我想为服务器和客户端生成 jar,它们只包含必需的库,而服务器 jar 不包含图像。
有没有办法在没有 Maven 等的情况下做到这一点?
右键单击项目并转到导出。从选择树中选择 jar,然后在下一个选项卡中,删除您不希望包含在 jar 中的代码/资源。如果将它们保存在单独的项目中会更好(即使没有客户端 java 代码,您也可以创建资源项目)。
但是,您所描述的内容听起来很像 WAR 文件。与 jar 不同,WAR 文件是一个可部署的 jar,旨在添加到Tomcat等 Web 托管应用程序中。我不知道这是否适合您的需求,但通常情况下,您希望同时拥有服务器和客户端代码。如果您的项目依赖于另一个项目,该项目将自动创建一个将包含在 WAR 中的 jar。
您可以在同一项目中将源分成三个源(和输出)文件夹:
然后创建一个build.xml
(Ant buildfile),它从 + 创建一个 jar 并从+创建bin-shared
一个jar 。bin-server
bin-shared
bin-client
注意:将其保留在同一个项目中的一个危险是您可能会意外地使用服务器类中的客户端类,反之亦然,这将在运行时失败。要解决此问题,请创建三个项目而不是三个源文件夹。