我将在SVN上托管一个java项目,该项目需要由其他开发人员下载,并且能够在本地计算机上编译/打包该项目。
我想知道哪些文件需要存储在SVN上,哪些文件可以省略。我知道Netbeans创建的文件可以省略,并且需要包含build.xml,因为它有代码将项目中使用的库打包到.jar文件中。
我假设需要将以下内容存储在SVN服务器上:
/lib
/src
build.xml
是否有任何文件
需要添加nbproject
文件夹吗?
如果不是什么svn命令(IE svn-ignore)我需要运行吗? 忽略除那些之外的所有文件 在/ lib,/ src和build.xml文件中?
我的文件结构应该是什么 svn看起来像?我应该保留 src目录中的源文件 svn或我应该命名该文件夹 开发商可以做的其他事情 然后“从中创建一个新项目 现有来源“?
答案 0 :(得分:5)
您不应该在SVN上托管lib目录,可以使用Ivy或Maven作为依赖项管理器,它将从存储库下载所有依赖项。
关于netbeans文件,它取决于你的团队的工作方式,我会说你可以让他们在SVN上对其他使用netbeans的开发人员有用,不应该打扰开发人员使用另一个IDE。
对于svn:ignore
部分,您必须在命令行中执行svn propset svn:ignore dirname .
。
一般文件结构是:
/svn
|-projectName/
|-branches/
|-tags/
|-trunk/
|-projectName/ (Sometimes this directory doesn't exists and its content is put right into trunk)
|-pom.xml (Maven !)
|-module1Name/
|-src/
|-main/
|-java/
|-resources/
|-test/
|-java/
|-resources/
|-pom.xml (Maven !)
|-module2Name/
|-module3Name/
资源:
关于同一主题:
答案 1 :(得分:0)
我决定采取另一条路线。虽然我已经阅读了关于使用Maven的原始帖子,但我们希望远离Maven,因为我们基本上只是为现有的库编写命令行界面。
我决定做我做的另一个原因是在添加我的svn期间:忽略了我意识到这里的一些开发人员将他们的netbeans项目设置保存在不同的目录中,这基本上没有任何好处,因为它不会是一个svn该目录的工作副本。
所以我所做的只是将/ src和/ lib目录添加到repo。
最终用户然后使用svn co svn+ssh://path/to/repo/trunk .
签出回购,然后打开netbeans并选择“从现有来源创建项目”。此时,他们将进入并从/ lib目录添加库。
我已经投票给你答案,因为如果我使用Maven,那将是非常有帮助的。