使用SCM / Audit组时,Eclipse Maven多项目构建/部署过程

时间:2013-02-05 17:21:33

标签: eclipse maven version-control

最终,我们正在努力找出我公司的构建/部署流程。作为开发人员,我需要将我的源代码提供给审计组。他们审查软件的安全性偏差。如果源通过了审计,则代码将转到软件配置组。他们的工作是将我的应用归档并编译为WAR。然后将WAR文件提供给将在服务器上放置WAR的IT部门。如果我有一个自包含的项目,我认为这个过程很简单。

但是在Eclipse中我有两个Maven项目,其中一个依赖于另一个。一个项目core提供核心功能。我将它分开了,因为这些核心功能将被我所有其他(内部)Web应用程序项目使用。

 Logging
 filters
 common models (phonebook, employee, etc)
 common utilities (Emailing employess, String utils, etc..)

在其他项目中,比如project1,我在POM中向core添加依赖项。不确定我是否需要这样做,但我还编辑了Eclipse项目属性并添加了对core项目的引用。通过一些finagling(Maven的新手),我能够将Project1部署到我当地的JBoss安装中。我打开了WAR,在WEB-INF / lib文件夹中,我可以看到core-0.0.1-SNAPSHOT.jar被自动包含在内。

但是,我如何向SCM提供project1的来源,core还需要cores的来源,而无需手动将porject1s来源复制到core-0.0.1-SNAPSHOT.jar来源。

我可以将Project1复制到cores,但每次部署新应用时,他们也应该审核{{1}}来源,因为我可能已经添加或调整了一些核心功能。

2 个答案:

答案 0 :(得分:1)

您应该了解有关maven SNAPSHOT和发布存储库的更多信息。然后安装Nexus server作为生成的jar,wars,javadocs和source(称为工件)的目标。

之后,您可能会对具有分阶段部署选项的商业Nexus版本感兴趣。 http://www.sonatype.com/people/2009/06/using-staging-repositories-for-deployment-in-nexus/

答案 1 :(得分:1)

要解决打包问题,您可以使用Maven Assembly Plugin。您可以在一个文件中包含所有源和依赖项。

也许更适合您的需求maven插件。