error:Duplicate key BuildableArtifactImpl (file collection)

本文探讨了在使用Gradle进行多渠道编译时遇到的常见问题:当指定渠道名称为'main'时,会触发Duplicate key异常。文章详细解释了错误原因,并提供了简单有效的解决方案——更改渠道名称,避免使用'main'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

productFlavors {  //在这里添加你所有需要打包的渠道
    main{
        buildConfigField "boolean", "PRODUCT_DEMO", "false"
    }
    demo{
        buildConfigField "boolean", "PRODUCT_DEMO", "true"
    }
}

多渠道编译时,如果其中一个渠道是main的话,gradle会报异常error:Duplicate key BuildableArtifactImpl (file collection),解决办法就是更改渠道的名称,不能使用main。

java.lang.IllegalStateException: Failed to execute ApplicationRunner at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:759) at org.springframework.boot.SpringApplication.lambda$callRunners$2(SpringApplication.java:746) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:498) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:487) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:241) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:744) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1289) at com.zte.vd.insight.config.BootstrapApp.main(BootstrapApp.java:30) Caused by: org.springframework.dao.DuplicateKeyException: ### Error updating database. Cause: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "software_dict_pkey" (seg1 149.168.43. Detail: Key (process_name, os_type)=(powerpnt.exe, 0) already exists. ### The error may exist in file [/home/dexcloud/vd-config/conf/mapping/SoftwareProcessApdb.xml] 如何捕获异常并打印日志 List<List<SoftwareProcess> > splitedList = LocalUtils.splitList(softwareProcesses, BATCH_SIZE); for(List<SoftwareProcess> subList : splitedList){ int count = softwareProcessApMapper.batchInsertSoftwareProcess(subList); log.info("---------->>>>>softwareDictMigrationFromPgToAp: Migrate {} data's from PG to AP", count); }
03-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值