java中的打包应用程序避免导入

时间:2011-07-13 11:42:09

标签: java

我使用第三方apis,j2me apis进行应用程序构建,应用程序代码分布在各种java包中。

在用户界面类设备特定代码中不能导入,但它是必需的。

在使用像ant这样的工具构建应用程序时,现在不可能将独立的包构建为jar,因为各种包正在从其他包中导入代码等。

我试图用接口分隔每个包但不总是可能。 仍然在极少数地方,ui特定代码中需要来自用户界面层的代码。还修改了第三方应用程序源代码以开发应用程序。所以将来第三方jar的下一个版本不能按原样使用,需要获取源代码,修改它然后再包含。

有没有更好的方法来开发应用程序,最大限度地减少包交互?

1 个答案:

答案 0 :(得分:0)

我假设您要提供一个或多个包含接口的API jar以及一个或多个实现jar。为实现这一目标,您可以为每个jar创建一个项目或子项目并相应地设置可见性(这是Maven具有每个项目一个工件规则的一个原因)。

或者,您可以根据包名管理可见性,为此可以使用某些约定,例如: *.impl.*个软件包等不应显示所有*.api.*个包。

至于第三方依赖项:如果您修改它们,则不应自动更新到新版本。这几乎总会导致问题。如果您确实必须修改第三方代码,则将其放入您自己的源文件夹和存储库中,并且不要链接它们提供的二进制jar。

或者,您可以使用依赖管理器(如Maven或Apache Ivy)管理依赖关系版本。