【Plugin with id ‘maven‘ not found】Android Studio | Gradle | 插件开发

news/2024/5/20 4:03:29 标签: maven, gradle, java

问题:

A problem occurred evaluating project ':javassist'.
> Plugin with id 'maven' not found.
Caused by: org.gradle.api.plugins.UnknownPluginException: Plugin with id 'maven' not found.

原因:

Android Studio 升级到Arctic Fox版本后,Gradle及其插件的版本默认是7.0及以上了;在Gradle 7.0以及以后的版本中maven插件已经被移除了,改为使用"maven-publish"

解决办法:

  • apply plugin: 'maven' 改为 apply plugin: 'maven-publish'

  • uploadArchives 需要改为新的写法publishing
    旧:

    uploadArchives{
        repositories.mavenDeployer {
            pom.groupId = 'com.test'
            pom.artifactId = 'test'
            pom.version = '1.0.0'
            repository(url: uri('../repo'))
        }
    }
    

    新:

    publishing {
        publications {
            maven(MavenPublication) {
                groupId = 'com.test'
                artifactId = 'test'
                version = '1.0.0'
                from components.java
            }
        }
    
        repositories {
            maven {
                // change to point to your repo, e.g. http://my.org/repo
                url = '../repo'
            }
        }
    }
    
  • 修改后完整build.gradle参考:

    apply plugin: 'groovy'
    apply plugin: 'maven-publish'
    repositories {
        mavenCentral()
    }
    dependencies {
        implementation gradleApi()
        implementation localGroovy()
        implementation 'com.android.tools.build:gradle:3.1.3'
        implementation 'org.javassist:javassist:3.20.0-GA'
    }
    publishing {
        publications {
            maven(MavenPublication) {
                groupId = 'com.javassist'
                artifactId = 'modify'
                version = '1.0.0'
                from components.java
            }
        }
        repositories {
            maven {
                // change to point to your repo, e.g. http://my.org/repo
                url = '../repo'
            }
        }
    }
    sourceCompatibility = "7"
    targetCompatibility = "7"
    
    

参考文档

https://docs.gradle.org/7.0/userguide/publishing_maven.html

其他相关

Gradle命令中找到publish命令即可发布插件
在这里插入图片描述


http://www.niftyadmin.cn/n/1018844.html

相关文章

Android Studio中运行java类中的main方法报错【SourceSet with name ‘main‘ not found.】

错误提示: FAILURE: Build failed with an exception.* Where:Initialization script C:\Users\j2019.zhu\AppData\Local\Temp\MyTest_main__.gradle line: 21* What went wrong:A problem occurred configuring project :app.> Could not create task :app:MyTe…

Android kotlin 使用Dagger2报错 InvocationTargetException 不能生成DaggerXXComponent

官方/网络示例: implementation com.google.dagger:dagger:2.x kapt com.google.dagger:dagger-compiler:2.x错误提示: Execution failed for task :app:kaptDebugKotlin. > A failure occurred while executing org.jetbrains.kotlin.gradle.inter…

Dagger2 kotlin中使用@Named总是编译报错

报错写法: Named("key1")Injectlateinit var httpObject: HttpObjectNamed("key2")Injectlateinit var httpObject2: HttpObject正确写法需要使用field:Named(""): field:Named("key1")Injectlateinit var http…

Appium 找不到findElementByAndroidUIAutomator方法问题

我使用Appium版本是java-client-8.0.0-beta2.jar 问题: 当我们想要通过自动滚动页面的方式找到某个元素时,网上通常会告诉我们可以用driver.findElementByAndroidUIAutomator这个方法,但是在最新的Appium版本中已经删除了该API 解决办法&am…

Appium Android 如何检查switch开关状态

Appium 版本:java-client-8.0.0-beta2.jar 问题: Appium UI测试中如何检查Android中switch开关状态 解决办法: 获取元素拿到WebElement对象获取WebElement对象的"checked"属性判断"checked"属性值,如果为&…

【Hilt】Expected @AndroidEntryPoint to have a value. Did you forget to apply the Gradle Plugin?

问题: Android Studio在接入Hilt的时候,编译时总是提示Expected AndroidEntryPoint to have a value. Did you forget to apply the Gradle Plugin? 原因: 因为项目之前接入了ARouter,在build.gradle中配置了自定义参数如下&a…

【Hilt】【kotlin】IllegalStateException: Unsupported metadata version. Check that your Kotlin version is

问题: 在kotlinjava混合项目中接入Hilt后编译时报错如下: Execution failed for task :app:kaptDebugKotlin. > A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction> ja…

【Hilt】ClassCastException xxxDaggerBaseApplication_HiltComponents_SingletonC cannot be cast to xxMain

问题: 项目接入Hilt后编译时报ClassCastException错误: Caused by: java.lang.ClassCastException: com.agile.base.DaggerBaseApplication_HiltComponents_SingletonC$ActivityRetainedCImpl$ActivityCImpl cannot be cast to com.example.myapplicat…