我正在开发一个 Spring(用于服务器端 Web 开发的 Java 框架)Web 应用程序,它将通过 JSON 对象响应另一个客户端 Java 应用程序(使用套接字通信)。同时,我正在处理服务器端和客户端 Java 应用程序。
问题是我有一堆文件(比如,一个 Json 变量接口)在两个项目中都被使用。目前,我在两个项目的不同包中拥有该界面的重复副本。但这会导致不一致,因为每当我需要更改界面时,我都必须更新这两个文件。
有没有人对此有一个巧妙的解决方案?
谢谢
我正在开发一个 Spring(用于服务器端 Web 开发的 Java 框架)Web 应用程序,它将通过 JSON 对象响应另一个客户端 Java 应用程序(使用套接字通信)。同时,我正在处理服务器端和客户端 Java 应用程序。
问题是我有一堆文件(比如,一个 Json 变量接口)在两个项目中都被使用。目前,我在两个项目的不同包中拥有该界面的重复副本。但这会导致不一致,因为每当我需要更改界面时,我都必须更新这两个文件。
有没有人对此有一个巧妙的解决方案?
谢谢
您应该在包级别而不是文件级别处理您的共享代码。
您应该创建一个接口定义包,供架构的客户端和服务器端使用,并且每当该包更改时,双方都必须相应更改。
编辑:
我没有明确说明,但 zellus 关于将公共代码作为 jar 导入的建议是一个很好的建议。
您可以为您的通用 JSON 代码创建一个单独的项目。使用颠覆, svn:externals 允许在源代码级别进行巧妙的集成。将公共代码作为 jar 文件导入是另一种方法。
如果您使用的是 maven,您可以创建一个本地 maven 项目,其中包含您在不同项目中可能需要的所有类,并将此依赖项添加到需要这些类的 pom.xml 中。