2012-05-06 182 views
0

我有java两个项目;一个服务器项目和一个客户端项目。在我的网络代码中,我发送请求。我不想为代码中的不同类型的请求输入0,1,2,所以我使用常量代替。我的问题是我不想在两个项目中声明这些常量,而是在一个地方声明这些常量,因为这两个项目的常量是相同的。有没有人知道这个好的解决方案?项目之间共享常量

编辑:客户端项目是一个android应用程序,服务器是一个servlet,它应该处理来自客户端的请求。

回答

6

使用接口创建库项目。该接口声明常量。在两个项目中共享这个库。如果你在maven中使用一些依赖管理,这很容易。

编辑:

使用在http://en.wikipedia.org/wiki/Constant_interface描述的最后一类是更好!但核心是,使用一个库项目,并在一个单独的jar中共享这两个项目的公共部分。

+0

这样做是不好的做法,请参阅_Constant接口反模式,有效的Java,项目17_ – Kai

+0

...或[此问题](http://stackoverflow.com/questions/2659593/what-is-the-use-接口常量) – Kai

+0

@ user714965只有**实现**该接口是不好的做法,真的。但是编写一个最终的,不可证实的课程仍然更好,因为它不可能做坏事。 –

0

我不知道你的架构,但如果客户端调用服务器,你已经有了依赖关系。

因此,您应该将服务器项目作为依赖项添加到您的客户端项目中。然后你可以在包含常量的服务器项目中定义一个类(或者你的情况下可能是一个枚举)。这是服务器提供这些方法所属的位置。