2

在 Liferay Developer Studio 3.1.2 中,我创建了一个“新建 > Liferay 工作区项目”。

在其中,我创建了一个“新建 > Liferay 模块项目”。

这是它的外观:

在此处输入图像描述

问题:模块项目上没有Gradle右键菜单。

从命令行运行 Gradle 时,我得到:

$ gradle --version

------------------------------------------------------------
Gradle 4.3.1
------------------------------------------------------------

Build time:   2017-11-08 08:59:45 UTC
Revision:     e4f4804807ef7c2829da51877861ff06e07e006d

Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_151 (Oracle Corporation 25.151-b12)
OS:           Linux 4.4.0-101-generic amd64

$ gradle build
Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

* Where:
Build file '/home/nico/training-workspace/training/modules/doc-media-fragment/build.gradle' line: 2

* What went wrong:
A problem occurred evaluating root project 'doc-media-fragment'.
> Could not find method compileOnly() for arguments [{group=org.osgi, name=org.osgi.core, version=6.0.0}] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

我做错了什么?
如何解决问题?

build.gradleLiferay 工作区的根目录是空的,下面是Liferaybuild.gradle模块的根目录:

dependencies {
    compileOnly group: "org.osgi", name: "org.osgi.core", version: "6.0.0"
    compileOnly group: "org.osgi", name: "org.osgi.service.component.annotations", version: "1.3.0"
}
4

2 回答 2

10

您可以通过导航到 node_modules/react-native-maps/lib/android/build.gradle 并更改这些行来解决此问题

compileOnly "com.facebook.react:react-native:+"
implementation "com.google.android.gms:play-services-base:$googlePlayServicesVersion"
implementation "com.google.android.gms:play-services-maps:$googlePlayServicesVersion"
implementation "com.google.maps.android:android-maps-utils:$androidMapsUtilsVersion"

provided "com.facebook.react:react-native:+"
compile "com.google.android.gms:play-services-base:$googlePlayServicesVersion"
compile "com.google.android.gms:play-services-maps:$googlePlayServicesVersion"
compile "com.google.maps.android:android-maps-utils:$androidMapsUtilsVersion"

并查看项目是否构建。

于 2018-04-30T14:41:18.183 回答
2

创建 settings.gradle 并添加以下内容。

buildscript {
  dependencies {
      classpath group: "com.liferay", name: "com.liferay.gradle.plugins.workspace", version: "1.5.0"
      classpath group: "net.saliman", name: "gradle-properties-plugin", version: "1.4.6"
      classpath group: "com.liferay", name: "com.liferay.gradle.plugins", version: "latest.release"
  }

  repositories {
      maven {
          url "https://cdn.lfrs.sl/repository.liferay.com/nexus/content/groups/public"
      }
  }
}

apply plugin: "net.saliman.properties"

apply plugin: "com.liferay.workspace"

settings.gradle 通常包含最小的 liferay gradle 插件来执行构建和部署 liferay 模块。我已将其粘贴在答案中。还要在 liferay 工作区根目录中授予您的 gradlew 权限。chmod 777 培训/gradlew

于 2017-11-27T18:37:49.310 回答