当前位置: 首页 > 知识库问答 >
问题:

无法在此列表中找到要调用的方法maven():

石正卿
2023-03-14

我目前正在尝试为Android模拟(然后构建)和Ionic应用程序(带Angular)。我觉得有必要先说我不是Android开发者,这是我第一次不得不设置环境,所以我为任何“明显”的错误或错过的步骤道歉。

我无法克服这个错误(在运行ionic cordova模拟android--debug--consolelgs后出现):

BUILD FAILED

Total time: 0.794 secs
[11:12:25]  lint finished in 1.74 s 
Error: /path/to/app/platforms/android/gradlew: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.

* Where:
Build file '/path/to/app/platforms/android/build.gradle' line: 24

* What went wrong:
A problem occurred evaluating root project 'android'.
> Could not find which method maven() to invoke from this list:
public abstract org.gradle.api.artifacts.repositories.MavenArtifactRepository org.gradle.api.artifacts.dsl.RepositoryHandler#maven(groovy.lang.Closure)
public abstract org.gradle.api.artifacts.repositories.MavenArtifactRepository org.gradle.api.artifacts.dsl.RepositoryHandler#maven(org.gradle.api.Action)

当我尝试构建我的项目或同步Gradle时,我在Android Studio中收到类似的消息:

Could not find which method maven() to invoke from this list:
public abstract org.gradle.api.artifacts.repositories.MavenArtifactRepository org.gradle.api.artifacts.dsl.RepositoryHandler#maven(groovy.lang.Closure)
public abstract org.gradle.api.artifacts.repositories.MavenArtifactRepository org.gradle.api.artifacts.dsl.RepositoryHandler#maven(org.gradle.api.Action)
Open File

我的build.gradle文件中失败的行如下所示:

buildscript {
    repositories {
        maven ()        < HERE
        jcenter()
        google ()
    }

    // Switch the Android Gradle plugin version requirement depending on the
    // installed version of Gradle. This dependency is documented at
    // http://tools.android.com/tech-docs/new-build-system/version-compatibility
    // and https://issues.apache.org/jira/browse/CB-8143
dependencies {
        classpath 'com.android.tools.build:gradle:4.7'
    }
}

对于上下文,我有:

下载了Android Studio、JDK和SDK工具,并通过自制软件安装了Gradle和Maven。

将以下路径添加到我的.bash_profile(并确认文件路径包含他们所说的内容,以及匹配的版本):

export ANDROID_HOME=$HOME/Library/Android/sdk`
export JAVA_HOME=$(/usr/libexec/java_home)
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export M2_HOME=/usr/local/Cellar/maven/3.5.3/libexec
export M2=$M2_HOME/bin
export PATH=$PATH:$M2_HOME/bin

export PATH=$PATH:/opt/gradle/gradle-4.7/bin

通过CLI sdkManager接受所有许可条款

通过AVD管理器创建虚拟设备

运行“离子信息”返回以下内容:

cli packages: (/Users/katesowles/.node/lib/node_modules)
    @ionic/cli-utils  : 1.19.2
    ionic (Ionic CLI) : 3.20.0
global packages:
    cordova (Cordova CLI) : 7.0.1 
local packages:
    @ionic/app-scripts : 1.3.0
    Cordova Platforms  : android 6.2.3 browser 4.1.0 ios 4.5.4
    Ionic Framework    : ionic-angular 3.0.1
System:
    Android SDK Tools : 26.1.1
    ios-deploy        : 1.9.2 
    Node              : v8.7.0
    npm               : 5.4.2 
    OS                : macOS High Sierra
    Xcode             : Xcode 9.3 Build version 9E145 
Environment Variables:
    ANDROID_HOME : /Users/katesowles/Library/Android/sdk
Misc:
    backend : pro

运行mvn--version返回

Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T11:49:05-08:00)
Maven home: /usr/local/Cellar/maven/3.5.3/libexec
Java version: 1.8.0_171, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.4", arch: "x86_64", family: "mac"

运行gradle-version返回

------------------------------------------------------------
Gradle 4.7
------------------------------------------------------------

Build time:   2018-04-18 09:09:12 UTC
Revision:     b9a962bf70638332300e7f810689cb2febbd4a6c

Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.9 compiled on February 2 2017
JVM:          1.8.0_171 (Oracle Corporation 25.171-b11)
OS:           Mac OS X 10.13.4 x86_64

任何帮助找到一个方法过去这一点,并完成,成功的建设将非常感谢!

共有1个答案

仲孙善
2023-03-14

之后

apply plugin: 'com.android.application'

您应该添加以下内容:

  repositories {
        mavenCentral()
        maven {
            url "https://repository-achartengine.forge.cloudbees.com/snapshot/"
        } //  some dependency like this.
    }

如果您有一个具有身份验证的maven,您可以使用:

repositories {
            mavenCentral()
            maven {
               credentials {
                   username xxx
                   password xxx
               }
               url    'http://mymaven/xxxx/repositories/releases/'
            }
}

这是重要的订单。

注意:您需要在buildscript之外定义存储库。buildscript配置块仅为构建脚本的类路径设置存储库和依赖项,而不是您的应用程序。看这个

 类似资料:
  • 问题内容: 我正在学习groovy,并且尝试使用所有字段的默认值动态初始化我的类。因此,我要进行的工作是,获取所有属性的列表并获取该对象的类型并创建该类型的对象,但是执行时出现错误: 下面是代码 问题答案: 查看Java文档的。如您在本节中所看到的,该类没有no-arg构造函数(这就是异常消息所说的)。您必须: 用或参数调用它(构造函数) 使用布尔值的默认值-这是 用或初始化值

  • 请注意:我已经检查了SO上的其他问题,虽然我可以消除错误,但它还有其他问题。 下面是我现有的代码: 我的适配器类: 修改代码查看各种答案: 现在,我没有得到错误,但是每次都被调用两次,并且recyclerview中的视图每次都在刷新。我做错了什么?请参阅logcat输出:

  • 有人能帮我找到这个的xpath吗?提前谢谢。 HTML如下所示: 鼠标悬停时属性的值正在更改,如下所示: 以下是选项的检查代码:

  • 我是JNI的新手,我正在努力解决这个问题。 我有一个c回调被网络库(alljoyn)调用。 在这个回调中,我需要调用Java代码。 由于此回调位于另一个线程中,因此我使用以下代码获取JNIEnv指针: (jvm是全局指针) 问题是,当我尝试使用此env指针调用FindClass时,结果为NULL。 如果我在主线程中执行完全相同的FindClass调用,一切都会正常工作。 我怎样才能解决这个问题?这

  • 问题内容: 我有以下格式的多维列表: 如何获得所有子列表的第三个值的最大值。用伪代码: 我知道这可以通过遍历列表并将第三个值提取到新列表中,然后简单地执行来完成,但是我想知道是否可以使用lambda或列表理解来完成? 问题答案: 只需与生成器表达式一起使用: 另外,不要命名您的变量,而是要隐藏类型。