springboot项目,使用plugin打包出现 Could not resolve dependencies for project xxx,实际上包已经引入,idea也可正常运行

项目结构

项目是使用maven进行jar包管理

  • community(顶级)
    • components(父模块)
      • common(子模块,工具类等公共方法)
      • configure(子模块,配置文件)
      • es(子模块,es)
      • influx(子模块,influx)
      • io(子模块,io)
      • logging(子模块,日志组件)
      • notify(子模块,通知)
    • core(模块,引入了常用的jar包)
    • manager(父模块)
      • authentication(子模块,权限认证功能)
      • device(子模块,设备)
      • gps(子模块,定位相关)
      • logging(子模块,日志相关)
      • statistic(子模块,统计相关)
    • standalone(模块,包含springboot启动类)

尝试方法一

顶级模块原pom文件中的plugin

  <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.standalone.MyApplication</mainClass>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>${maven.deploy.version}</version>
            </plugin>
        </plugins>
    </build>

替换为:

     <properties>   
        <start-class>com.zhiyun.iov.standalone.IovApplication</start-class>
    </properties>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

替换之后,就可以进行打包,但是jar包无法运行

尝试方法二

将顶级原pom文件中的plugin去除,在包含项目启动类中的模块的添加该plugin。

打出的jar包可以正常运行。

注意

  • 包含启动类的模块pom文件中需要引入所有项目的包(如果想使用influx,就需要引入influx模块。推荐引入所有项目包)
  • community的pom文件仅用来版本管理,打包为pom
    <packaging>pom</packaging>
  • 父模块应包含子模块

例:community

<modules>
    <module>core</module>
    <module>components</module>
    <module>manager</module>
    <module>standalone</module>
</modules>

出现 "Could not resolve all dependencies for configuration classpath" 的错误通常是由于Android Gradle Plugin Version和Gradle Version之间的冲突引起的。要解决这个问题,可以尝试以下方法: 1. 确保Android Gradle Plugin Version和Gradle Version是相互兼容的。你可以在项目的build.gradle文件中查看这两个版本号,并确保它们是兼容的。你可以在Android官方文档中找到关于这些版本兼容性的信息。 2. 检查项目的依赖项。有时候,错误的依赖项配置也会导致这个问题。你可以检查项目的build.gradle文件中的dependencies块,确保所有的依赖项都被正确声明并且没有错误的版本号。 3. 清理和重新构建项目。有时候,清理和重新构建项目可以解决依赖项的问题。你可以尝试使用Android Studio的"Build"菜单中的"Clean Project"和"Rebuild Project"选项来清理和重新构建你的项目。 4. 更新Android Gradle Plugin和Gradle版本。如果以上方法都没有解决问题,你可以尝试更新Android Gradle Plugin和Gradle版本到最新的稳定版本。你可以在Android官方文档中找到关于如何更新这些版本的指导。 综上所述,要解决 "Could not resolve all dependencies for configuration classpath" 的问题,你可以通过检查版本兼容性、修复依赖项配置、清理和重建项目以及更新Android Gradle Plugin和Gradle版本来尝试解决。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [解决报错:Could not resolve all dependencies for configuration ‘appdebugRuntimeClasspath](https://blog.csdn.net/qq_38122220/article/details/124057020)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Could not resolve all dependencies for configuration ‘:classpath‘.](https://blog.csdn.net/BugNest/article/details/123057250)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值