0

我正在使用 maven 和 gwt 创建标准战争。我有很多依赖项,我已经设置为提供,因为我部署的生产实例将提供它们。但是,我也在使用开发模式在 GWT 中开发应用程序,并且我确实需要能够在运行时利用这些依赖项在执行开发时,但不要将它们编译到我的战争中。

我考虑过创建一个单独的 Maven 模块,它会简单地聚合所有这些依赖项并为它们提供运行时范围,然后从该上下文运行我的开发模式。然而,这确实引入了很多我不想管理的开销。

这似乎是一个很常见的问题,有没有人有更优雅的解决方案?

谢谢!

4

2 回答 2

2

这个问题的解决方案是使用maven配置文件:http ://maven.apache.org/guides/introduction/introduction-to-profiles.html

我为“开发”创建了一个,为“产品”创建了一个。dev 一个包含我所有的依赖项,而 prod 一个只包含我想在我的战争中投入的东西。

我可以通过这样做来编译 prod

mvn clean install -P prod,\!dev

于 2013-08-14T01:53:27.487 回答
1

这不是您想要的答案,但我想最好让 dev 环境尽可能地镜像 prod 环境。

因此,我建议您在开发模式下提供依赖项,就像在生产中提供它们一样。

更好的是,您可以将这些依赖项移动到本地 Nexus 存储库。通过这种方式,您可以从同一个存储库中检索这些依赖项,无论您是在 dev 还是 prod。这实际上是“优雅”的做法。

于 2013-08-06T07:02:00.220 回答