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



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

我一直无法克服此错误(运行ionic cordova emulate android --debug --consolelogs后出现(:

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 管理器创建了虚拟设备

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

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

任何帮助找到解决这个问题的方法并完成,成功的构建将不胜感激!

之后

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/'
}
}

这是重要的顺序。

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

最新更新