最终,我们正在努力找出我公司的构建/部署流程。作为开发人员,我需要将我的源代码提供给审计组。他们审查软件的安全性偏差。如果源通过了审计,则代码将转到软件配置组。他们的工作是将我的应用归档并编译为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}}来源,因为我可能已经添加或调整了一些核心功能。
答案 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插件。