![]() |
1
4
方法1:使用哈德逊如果您使用像 Hudson ,然后可以配置上游/下游项目(请参见 Terminology )
这意味着,如果有人将一些代码签入到一个项目中,那么如果它破坏了其他的构建,至少您会得到早期警告。 方法2:使用maven如果项目不太复杂,那么您可以创建一个主项目,并使这些子项目成为这个项目的子模块。然而,将一个项目管理成Maven喜欢的形式是相当棘手的。 |
![]() |
2
3
如果您使用Eclipse(或任何合适的IDE),您可以使一个项目依赖于另一个项目,并在SVN中提供该配置方面,并在构建脚本中假定签出。 注意,如果一个项目依赖于另一个项目的某个版本,那么JAR文件是一种更简单的管理方法。一个主要的重构可以立即意味着在所有其他项目中都要做大量的工作来修复问题,而您可以根据需要将新的JAR放到每个项目中,然后执行迁移工作。 |
![]() |
3
2
我想这可能都取决于具体的项目,但我想我会把所有的项目分开。这有助于保持整个系统的松散耦合。您可以使用诸如 maven 帮助管理项目之间的所有依赖关系。像这样管理依赖性是Maven的主要优势之一。 |
![]() |
4
1
使用Ant作为构建工具,您可以以任何方式打包您的项目。但是,将代码的某些部分从发行版中删除似乎很容易出错;您可能意外地遗漏了必要的类(可能所有类都是必需的)。 关于将代码保存在不同的项目中,我有一个松散的指导原则。在同一个项目中保留一起更改的代码,并将其打包到自己的JAR文件中。当您的一些代码可以分解成比主应用程序更改频率更低的实用程序库时,这种方法最有效。 例如,您可能有一个应用程序,在该应用程序中,您已经从Web服务WSDL(使用类似于Axis库的东西)生成了Web服务客户机类。Web服务接口可能很少更改,因此您不希望在主应用程序构建中一直重复执行重新生成步骤。为这一部分创建一个单独的项目,这样您只需要在WSDL更改时重新创建Web服务客户机类。创建一个单独的jar并在主应用程序中使用它。这种样式还允许其他项目重用这些实用程序模块。 当遵循这种风格时,您应该在JAR清单中放置一个版本号,这样您就可以跟踪哪些应用程序正在使用哪个版本的模块。根据您希望达到的程度,您还可以在JAR中保留一个文本文件,详细说明每个修订版所发生的更改(很像一个开放源代码库)。 |
![]() |
5
0
一切皆有可能(几年前我们也遇到过同样的情况)。它的难易程度取决于您的IDE(重构、合并、组织新项目)和您的构建工具(部署)。我们使用IDEA和Ant作为构建工具,这并不太难。一个星期天(没有人工作+承诺),两个人在一台电脑上。 我不知道你说的是什么意思
我想你在运行时需要所有的,是吗?据我所知,他们互相依赖。 |