含有module的Maven项目在提交SVN时会有点小问题`

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

 

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


含有module的Maven项目在提交SVN时会有点小问题`_第1张图片

 

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

 


含有module的Maven项目在提交SVN时会有点小问题`_第2张图片

再提交`会提示`

 


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

 


含有module的Maven项目在提交SVN时会有点小问题`_第3张图片

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

 


含有module的Maven项目在提交SVN时会有点小问题`_第4张图片

 

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

 

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

 


含有module的Maven项目在提交SVN时会有点小问题`_第5张图片

 

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

 

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

 

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

 

 

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

 

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

 


含有module的Maven项目在提交SVN时会有点小问题`_第6张图片

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

 

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

 

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

 


含有module的Maven项目在提交SVN时会有点小问题`_第7张图片

 

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

 

 

你可能感兴趣的:(maven,SVN,项目管理)