当前位置: 代码迷 >> CVS/SVN >> 含有module的Maven项目在提交SVN时会有点小疑点
  详细解决方案

含有module的Maven项目在提交SVN时会有点小疑点

热度:2771   发布时间:2013-02-26 00:00:00.0
含有module的Maven项目在提交SVN时会有点小问题`

问题1`在share父项目时,会在子项目的target目录下自动创建子项目的包关系目录级``

?

如下图`maventest1是一个子项目,里面定义了一个cn.pior.maventest1.app的包`在第一次发布父项目时`会自动生成这些目录`在发布以前`target目录下只有classes和test-classes两级目录``


?

如果这时候执行父项目或子项目的clean`会把classes和test-classes两级目录下的子目录和.svn目录都清理掉`

?


再提交`会提示`

?


如果执行package或install`maven会生成target目录的内容`

?


这个时候是可以提交上去的``

?


?

问题2: 修改子项目的内容后提交父项目有时会报错误`提交失败`出现的问题各种各样`

?

如`containing working copy admin area is missing`svn: Entry for 'XXXX\workspace\kskd\maventest1' has no URL`又如`

?


?

不太明白为什么会这样`求指点``

?

解决办法:`把父项目和子项目平级管理 ``

?

在父项目的POM定义module时这样写`

?

?

	<modules>		<module>../maventest1</module>	</modules>
?

?

把父项目和子项目并列目录``

?


这样`再怎么提交和都很正常了``

?

但问题又来了`在做CI时``Hudson构建父项目时`会提示找不到子项目`

?

这里需要修改Hudson的项目设置`为子项目添加检出地址`并为父项目和子项目设置不同的hudson本地目录``

?


?

这样`在本地和CI中的构建就都可以正常进行了``

?

?

1 楼 buru 2011-05-07  
不明白你为什么提交target目录,应该直接把这个目录ignore
2 楼 pior 2011-05-08  
学习了`

摸索了个设置子目录中target为ignore的笨办法`请移步 使用subclipse设置一个二级子目录为svn:ignore

有好办法的请指教`
3 楼 kyfxbl 2012-09-26  
好帖,我今天也是先用树形目录,发现svn比较麻烦,后来也改成平级目录了
  相关解决方案