2013-02-05 30 views
2

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

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

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

在其他项目中,说project1,我在POM添加一个依赖于core。不知道是否需要这样做,但我也编辑了Eclipse项目属性并添加了对core项目的引用。随着一些fokugling(Maven的新功能),我能够将Project1部署到我本地安装的JBoss。我打开了WAR并在WEB-INF/lib文件夹中看到core-0.0.1-SNAPSHOT.jar被自动包含。

但我怎么给SCM我的project1源也需要为core源,而无需手动复制cores源到porject1s源。

我可以复制到core-0.0.1-SNAPSHOT.jarProject1他们也应该检讨我每次部署新的应用程序,因为我可能会增加或调整了一些核心功能的时间cores源。

回答

1

您应该了解更多关于maven SNAPSHOT和版本库的信息。然后安装Nexus server作为生成的罐子,战争,javadocs和源(称为工件)的目的地。

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

+0

不知道这是我正在寻找的选项... – jeff

+0

我建议您了解更多关于maven的信息。例如,在发布的软件包中包含SNAPSHOT版本是不好的风格。你的relases不应该是SNAPSHOT,但增加版本。 –

+0

http://stackoverflow.com/questions/5901378/what-exactly-is-a-maven-snapshot-and-why-do-we-need-it –

1

要解决包装问题,您可以使用Maven Assembly Plugin。你可以在一个文件中拥有所有的源和依赖关系。

也许还有更适合你的需求的maven插件。