首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到从这个列表调用哪个方法maven():

找不到从这个列表调用哪个方法maven():
EN

Stack Overflow用户
提问于 2018-05-18 19:09:06
回答 1查看 3.9K关注 0票数 0

我目前正试图模仿(然后构建)和Ionic应用程序(w/角)的Android。我觉得有必要在开头说我不是一个Android开发者,这是我第一次不得不建立一个环境,所以我为任何“明显的”错误或遗漏的步骤道歉。

我无法通过这个错误(在运行ionic cordova emulate android --debug --consolelogs之后出现):

代码语言:javascript
复制
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中得到了类似的消息

代码语言:javascript
复制
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 文件中失败的行如下所示:

代码语言:javascript
复制
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、JDK和SDK工具,以及(试图排除故障)通过自制软件安装Gradle和Maven。

将以下路径添加到我的.bash_profile中(并确认文件路径包含他们所说的操作,并提供了匹配的版本):

代码语言:javascript
复制
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管理器创建虚拟设备

运行ionic info将返回以下内容:

代码语言:javascript
复制
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返回

代码语言:javascript
复制
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返回

代码语言:javascript
复制
------------------------------------------------------------
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

任何帮助,以找到一个方法,通过这个和一个完成的,成功的建设将是非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2018-05-18 19:19:04

之后

代码语言:javascript
复制
apply plugin: 'com.android.application'

您应该添加以下内容:

代码语言:javascript
复制
  repositories {
        mavenCentral()
        maven {
            url "https://repository-achartengine.forge.cloudbees.com/snapshot/"
        } //  some dependency like this.
    }

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

代码语言:javascript
复制
repositories {
            mavenCentral()
            maven {
               credentials {
                   username xxx
                   password xxx
               }
               url    'http://mymaven/xxxx/repositories/releases/'
            }
}

这是重要的秩序。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50417839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档