tho*_*ark 4 java git github gradle maven
我是新手使用github并一直试图通过查看其他人的存储库来弄清楚这个问题,但我无法弄明白.当人们将github中的存储库分叉/克隆到他们的本地计算机以在项目上进行开发时,是否期望克隆的项目是完整的(即,它具有正确运行所需的所有文件).例如,如果我以.jar文件的形式使用第三方库,我是否应该在存储库中包含该.jar文件,以便我的代码可以在有人克隆时运行,或者更好只是记下你正在使用这样的第三方库,用户需要在开始工作之前将这些库下载到其他地方.我只想弄清楚我的代码提交的最佳实践.
谢谢!
基本上就像克里斯说的那样.
您应该使用具有包管理器的构建系统.这样,您可以指定所需的依赖项,并自动下载它们.我个人与maven和蚂蚁合作过.所以,这是我的经验:
关于maven的第一个词,它不是包经理.它是一个构建系统.它只包含一个包管理器,因为对于java人来说,下载依赖项是构建过程的一部分.
Maven提供了一组很好的默认设置.这意味着您只需使用archtype插件来创建项目(cli上的"mvn archetype:create").将原型视为项目的模板.您可以选择最适合您需求的原型.如果您使用某个框架,可能会有一个原型.否则,简单项目原型将是您的选择.之后您的代码转到src/main/java,您的测试用例转到src/test/java,"mvn install"将构建所有内容.依赖关系可以以maven的依赖关系格式添加到pom中.http://search.maven.org/是寻找依赖关系的地方.如果你在那里找到它,你可以简单地将xml片段复制到你的pom.xml(由maven的原型系统为你创建).
根据我的经验,maven是获得具有依赖关系和测试执行设置的项目的最快方法.此外,我从来没有经历过在我的机器上工作的maven构建在其他地方失败(除了具有一年历史的Java版本的计算机).魅力在于maven的默认生命周期(或构建周期)涵盖了您的所有需求.几乎所有东西都有很多插件.但是,如果你想做一些maven生命周期未涵盖的事情,你就会遇到大问题.但是,我只在混合语言项目中遇到过这种情况.一旦你需要除了java之外的任何东西,你就会被搞砸了.
我只和Apache Ant一起使用它.但是,Ivy是一个包管理器,ant提供了一个构建系统.Ivy作为插件集成到ant中.虽然maven通常可以开箱即用,但Ant要求您手动编写构建文件.这允许比maven更大的灵活性,但是还有另一个要编写和维护的文件的奖励.基本上Ant文件与任何源代码一样复杂,这意味着您应该对它们进行注释和记录.否则,您将无法在以后维护构建过程.
Ivy本身就像maven的依赖系统一样容易.您有一个定义依赖项的xml文件.至于maven,你可以在maven中心http://search.maven.org/上找到合适的xml片段.
总结一下,如果你有一个简单的Java项目,我推荐使用Maven.Ant适用于需要在构建中执行特殊操作的情况.
| 归档时间: |
|
| 查看次数: |
553 次 |
| 最近记录: |