我正在使用Jenkins 1.6.20(Git Client Plugin 1.18.0,Git Plugin 2.4.0)从bitbucket.org获取Java应用程序代码并将其部署到Apache Tomcat 8.0.23。
部署时出现错误,如下所示:
org.springframework.beans.factory.BeanCreationException:创建类路径资源[org / spr $]中定义的名为'requestMappingHandlerMapping'的bean时出错 public java.util.List by.ipps.accounting.ws.PositionWS.getEmployeePost(java.lang.Long) to {[/ positionListJson / {id}],methods = [GET],params = [],headers = [],consume = [],produce = [application / json],custom = []}:已经' resourceWS的bean方法 public by.ipps.accounting.model.Employee.EmployeePost by.ipps.accounting.ws.ResourceWS.getEmployeePost(java.lang.Long)mapped。
bla-bla-bla ......这么多错误......引起:java.lang.IllegalStateException:找到不明确的映射。无法映射'positionWS'bean方法 public java.util.List by.ipps.accounting.ws.PositionWS.getEmployeePost(java.lang.Long) to {[/ positionListJson / {id}],methods = [GET],params = [],headers = [],consume = [],produce = [application / json],custom = []}:已经' resourceWS的bean方法 public by.ipps.accounting.model.Employee.EmployeePost by.ipps.accounting.ws.ResourceWS.getEmployeePost(java.lang.Long)mapped。
问题是,使用方法getEmployeePost的类(带注释@Controller) PositionWS 在一周前被重命名为 ResourceWS ,因此不再存在,所以我不应该得到这个错误。
要解决此问题,我必须创建一个空白的PositionWS控制器(其中没有方法),commit&把它推到bitbucket(并稍后删除(我真的不需要它)并提交& push)。
这似乎就像我使用的任何应用程序中的错误。 我无法找到报告错误的应用程序。请告诉我,如果有人遇到此类问题。
答案 0 :(得分:0)
问题的核心在于詹金斯的错误配置,这是我的错。
当我配置Jenkins时,我将maven目标设置为“install”,但它必须是“ clean install ”。根据这个Jenkins永远不会删除旧文件并保留它们,所以得到了很多不同类型和不同日志消息的问题。
由于Jenkins工作专业,它下载项目文件并尝试在路径/var/lib/jenkins/jobs/<projectName>/workspace/target/
上组装它。
所以我将数据放在此文件夹中,然后将maven目标设置为“clean install”并修复了问题。