donhui / sonar-mybatis

MyBatis Plugin for SonarQube: Rules to check SQL statements in MyBatis Mapper XML files
Other
73 stars 20 forks source link

插件一直在崩溃,but问题不存在。 #29

Open jcwang12345 opened 3 years ago

jcwang12345 commented 3 years ago

org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [/home/jenkins/workspace/jctest/jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml-reduced.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for org.jeecg.modules.system.mapper.SysAnnouncementSendMapper.q1ueryByUserId1. please check file [/home/jenkins/workspace/jctest/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml-reduced.xml] and file [/home/jenkins/workspace/jctest/jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml-reduced.xml] at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:122) at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:94) at org.sonarsource.plugins.mybatis.rules.MyBatisLintSensor.execute(MyBatisLintSensor.java:136) at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:48) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85) at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59) at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59) at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:82) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123) at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:393) at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:389) at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:358) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123) at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:144) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123) at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72) at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66) at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) at com.sun.proxy.$Proxy0.execute(Unknown Source) at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189) at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138) at org.sonarsource.scanner.cli.Main.execute(Main.java:112) at org.sonarsource.scanner.cli.Main.execute(Main.java:75) at org.sonarsource.scanner.cli.Main.main(Main.java:61) Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for org.jeecg.modules.system.mapper.SysAnnouncementSendMapper.q1ueryByUserId1. please check file [/home/jenkins/workspace/jctest/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml-reduced.xml] and file [/home/jenkins/workspace/jctest/jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml-reduced.xml] at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:947) at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:903) at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:702) at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:297) at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:113) at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:137) at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:130) at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120) ... 32 more

donhui commented 3 years ago

从日志看,是 src 和 target 目录下的文件都扫描了,可以加上下面的参数再试试 -Dsonar.sources=. -Dsonar.inclusions=src/main/** -Dsonar.exclusions==src/main/webapp/**

Jane151013 commented 3 years ago

It seems that I have the same error: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [/work/mamba/src/main/java/com/zhoupu/erp/other/persistence/ConsumerVisitRecordImageMapper.xml-reduced.xml-reduced.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.zhoupu.erp.other.persistence.ConsumerVisitRecordImageMapper.insertBatch. please check file [/work/mamba/src/main/java/com/zhoupu/erp/other/persistence/ConsumerVisitRecordImageMapper.xml-reduced.xml] and file [/work/mamba/src/main/java/com/zhoupu/erp/other/persistence/ConsumerVisitRecordImageMapper.xml-reduced.xml-reduced.xml] then the process is quit. Hope your answer soon,tks

meetshawn commented 10 months ago

It seems that I have the same error: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [/work/mamba/src/main/java/com/zhoupu/erp/other/persistence/ConsumerVisitRecordImageMapper.xml-reduced.xml-reduced.xml]'. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.zhoupu.erp.other.persistence.ConsumerVisitRecordImageMapper.insertBatch. please check file [/work/mamba/src/main/java/com/zhoupu/erp/other/persistence/ConsumerVisitRecordImageMapper.xml-reduced.xml] and file [/work/mamba/src/main/java/com/zhoupu/erp/other/persistence/ConsumerVisitRecordImageMapper.xml-reduced.xml-reduced.xml] then the process is quit. Hope your answer soon,tks

I have the same problem