【发布时间】:2009-12-18 04:17:57
【问题描述】:
我正在编写一个客户端和服务器应用程序。现在我只是在自己开发它,所以我把它写成一个 Eclipse 项目,组织成 Java 包(org.myorg.server、org.myorg.client、org.myorg.networksystem 等)。项目部署到单个 jar 文件。然后,客户端是一个小程序,所以我只需将小程序 code 参数指向 jar 文件中的 org.myorg.client.ClientApplet,而当我运行服务器时,它是一个命令行应用程序,我运行:
java -jar MyJar.jar org.myorg.server.ServerApplication
好吧,我需要清理它的结构并改进构建过程。我还想分离 jar 文件,这样用户就无法像现在一样访问 jar 文件中内置的服务器副本。
我想使用持续集成服务器,例如CruiseControl。如果我只需要将我的代码签入到 SVN 存储库中,那就太酷了;然后 CruiseControl 服务器会抓取代码,编译并将其打包到单独的 jar 中,然后将服务器 jar 部署到我的专用服务器上并运行它,并将客户端 jar 部署到我的 Web 服务器上,以便更新小程序。
我可以弄清楚 CruiseControl。我当前的问题是如何分离代码。它很好地分为客户端和服务器包,但还有一些共享包,例如网络协议。我应该将我的项目分成 3 个项目,分别用于客户端、服务器和公共项目吗?我应该做点别的吗?我正在考虑手动编写 Ant 构建文件,但我真的很想留在 Eclipse 中。
我怎样才能最好地组织我的代码来实现这些目标?
(顺便说一句,对不起,如果这个问题令人困惑,我想我很难用语言表达我脑海中盘旋的所有不同问题)
【问题讨论】:
标签: java eclipse continuous-integration client-server