神器提供了一些API,为客户有了它,这些都是其在INTERAL代码库实现只有几Java接口交互...建筑API只考虑到我们的行家谟行家
现在,如果我们只是建立了罐子,发布它任何人都可以看到我们用于实现的内部类,但是我们只需要发布几个Java接口(以及几个DTO类可能)...
是否可以精确选择我们想要的java文件建立jar并创建两个工件,如(product.jar/war和product-api.jar)
prupose是为了限制被其他球队的代码可能被滥用......
神器提供了一些API,为客户有了它,这些都是其在INTERAL代码库实现只有几Java接口交互...建筑API只考虑到我们的行家谟行家
现在,如果我们只是建立了罐子,发布它任何人都可以看到我们用于实现的内部类,但是我们只需要发布几个Java接口(以及几个DTO类可能)...
是否可以精确选择我们想要的java文件建立jar并创建两个工件,如(product.jar/war和product-api.jar)
prupose是为了限制被其他球队的代码可能被滥用......
最好是使Maven的单独的模块代表喜欢你的模块:
project-api
其中只包含了接口,可以由他人单独使用。
project-impl
一个实施等 以上使测试更容易等都是不错的选择与问候的关注点分离。
谢谢,这对于大型项目来说很常见吗?我的项目变得太大了,许多小团队创建了愚蠢的依赖关系,现在很难摆脱......因此我想消除他们将使用他们不应该使用的源代码的可能性。 – vach
我正在从事320个模块/ 120开发人员的项目,是的,我们完全按照您所描述的方式来防止耦合。 – khmarbaise
@vach我不知道这是如何帮助你防止其他团队滥用代码,因为你需要为这两个模块提供罐子。我遇到了类似的情况,我必须为包含接口的API构建一个单独的模块。但是我没有完全理解这个概念,以及它在与多个团队合作时的帮助。 –
你的问题是关于保护代码而不是一般的maven。你可以有多模块maven项目,但任何人都可以下载并解压缩它。 一些想法作为Java并有内置的机制来支持这一点,但也有变通办法......一些想法..
您可以拆分项目进入多个模块,如: 项目的API,项目-JAR,项目的EJB,项目战争等 – novy1234
是的,但是,吸,想象我”将只有几个接口和dto类aproject ...我会这样做,如果没有其他选择是可能的... 我希望有一个解决方案只是pom.xml或与gradle也许? – vach
为什么它很烂?这是maven应该做的。除了创建项目API将有助于解耦您的项目。未来,与第三方共享API也将变得更加容易。 – plastique