为何用环境变量而不用相对路径来包含第三方库

news/2024/7/11 1:56:49 标签: SVN, 项目管理, 工作, .net, Blog

作者:朱金灿
来源:http://blog.csdn.net/clever101/


我们的版本控制工具采用TortoiseSVN + VisualSVN。我对自己开发小组的一个做法有点不太理解,就是从SVN下下载代码后发现要包含第三方库需要自己先添加一个环境变量,类似于THIRD_PARTY_LIB,这个环境变量的值指向第三方库的主目录。为何不用相对目录的路径来包含第三方库呢?这样做的话新加入的开发人员下载源码后可以直接编译,就不用自己手动添加什么环境变量了。今天我向头抛出这个问题,头告诉我:使用环境变量对第三方库的管理更为方便,首先第三方库有一个版本升级和文件变更的问题,如果采用相对目录的话,就等于限死了第三方库的位置,以后要改动的话都要一一改动源码工程文件的设置,而使用环境变量,实在不行的话可以完全建一个新的第三方库的文件夹,只需要在环境变量中改动的值即可;其次是为了SVN中的branches和tags分支的使用(注:branches:表示发布的版本存放的目录,即项目上线时发布的稳定版本存放在该目录中。tags:表示标签存放的目录。)。因为SVN中的branches和tags分支是不断更新的,采用相对目录的话肯定是不太合适的,同时发布tag版本时在采用环境变量可以不用把第三方库的dll都打包进去,因为可以通过环境变量来找到这些dll。


总之,使用相对路径包含第三方库是一时的方便造成了以后的诸多不便,用环境变量虽然一开始需要多做一点工作但对以后的工作有很多好处。



http://www.niftyadmin.cn/n/586054.html

相关文章

Hive SQLException: Method not supported问题

概述 项目使用到 impala/hive 查询引擎,ELK记录每天都要抛出差不多一两条报错信息:java.net.SocketTimeoutException: Read timed out。原因应该是SQL比较复杂,查询超时。故而可以考虑设置超时时间。 参考SocketTimeoutException: Read tim…

关于在VS2008以下版本的MFC程序使用VS 2008 FeaturePack出现内存泄露的理解

作者:朱金灿 来源:http://blog.csdn.net/clever101/ 题目有点长,但是想不到更好的题目。在家编个小程序,将以前用VS 2005编的一个工程升级到VS 2008,同时使用VS 2008 Feature Pack中的新控件。 在调试程序出现内存泄…

Java注解@SuppressWarnings

概述 作用:用于抑制编译器产生警告信息,即IDEA里面的黄色代码块。 抑制单类型的警告: SuppressWarnings("unchecked") public void add(String item) {List items new ArrayList();items.add(item); }抑制多类型的警告&#xf…

【STM32 .Net MF开发板学习-10】SPI测试之触摸屏坐标获取

STM32F103xx Cortex-M3系列的芯片含三路SPI通道,红牛开发板用了两路,SPI1连接AT45DB161B型号的SPI Flash,SPI2连接ADS7843触摸屏信号处理芯片,SPI3最好不要用,因为和JTAG的管脚有冲突,调试时会有问题。EM-S…

java 客户端类型_Tars Java客户端-原理篇

概述客户端两种应用场景已发布的Tars服务作为客户端调用其他Tars服务独立的应用程序访问Tars服务的接口,通常测试使用主要流程获取ServantProxy实例的流程Communicator.stringToProxy((Class clazz, String objName)ServantProxyFactory.getServantProxy()ObjectPro…

Linux—工作日志

1 在一个操作之前使用sudo命令,代表的是执行root权限,比如备份sudo tar cf aa.tar 目录名 2 查找命令find http://blog.csdn.net/ydfok/archive/2007/01/18/1486451.aspx 3 linux svn 大全 http://www.91linux.com/html/article/program/php/20090101/1…

对话框的OnPaint函数的两种写法的区别

作者:朱金灿 来源:http://blog.csdn.net/clever101/ 下面是对话框的OnPaint函数(就是WM_PAINT消息的响应函数)的两种写法。 写法一: void CMyDlg::OnPaint() { CDC *pDC GetDC(); // 我的绘制代码 MyDrawFunction…

couldn‘t upgrade db schema: insert into ACT_GE_PROPERTY values (‘common.sche[已解决]

文章目录现象异常原因解决方法开源项目地址: https://gitee.com/rodert/liawan-vue 现象 启动整合了flowable的项目,初始化时报错。 flowable没有自动建表, 异常 couldnt upgrade db schema: insert into ACT_GE_PROPERTY values (commo…