我正在编写客户端和服务器应用程序。现在我只是自己开发它,所以我将它编写成一个Eclipse项目,并将其组织成Java包(org.myorg.server,org.myorg.client,org.myorg.networksystem等)。该项目部署到一个单独的jar文件。然后,客户端是一个小程序,所以我只需在jar文件内的org.myorg.client.ClientApplet中指向小程序代码参数,而当我运行服务器时,它是一个命令行应用程序,我只是运行:客户端/服务器项目结构,文件夹结构,构建文件等
Java的罐子MyJar.jar org.myorg.server.ServerApplication
好了,我要清理它的结构,提高了构建过程。我也想分开这些jar文件,这样用户就无法像现在一样访问内置在jar文件中的服务器副本。
我想使用持续集成服务器,如CruiseControl。如果我只需要将我的代码检入SVN存储库,那将非常酷;那么CruiseControl服务器将获取代码,编译它并将其打包到单独的jar中,然后将服务器jar部署到我的专用服务器上并运行它,并将客户端jar部署到我的web服务器上,以便更新applet。
我可以找出CruiseControl。我目前的问题是如何分离代码。它很好地分离成客户端和服务器软件包,但是有一些共享软件包,比如网络协议。我应该将我的项目分成3个客户端,服务器和通用项目吗?我应该做点别的吗?我正在考虑手动编写Ant构建文件,但我真的很想留在Eclipse中。
如何最好地组织我的代码以实现这些目标?
(顺便说一句,对不起,如果这个问题是混乱的,我想我有一个很难用语言都围绕我的头纷飞的不同的问题)
我已经看到了Maven,决定它不适合我,现在我开心地使用Ant。我决定共享代码很少,我只需要手工复制它们之间的项目,所以我有两个独立的项目。我在学校和学习Ant之间一直如此肆意,以至于我还没有把它们加载到Eclipse中,但我没有预见到任何困难。 – Ricket 2010-01-13 15:32:20