我已经生成了根项目Racer
和其他一些项目(Racer-desktop,Racer-core ...)的Gradle项目。现在我想添加一个,即Racer-server
。与其他项目一样,该项目应该依赖于Racer-core
项目。我尝试过的方法:将其添加到settings.gradle:
include 'android', 'ios', 'html', 'core', 'desktop', 'server'
将此存根添加到我的Racer(root)build.gradle:
project(":server") {
apply plugin: "java"
apply plugin: 'war'
dependencies {
compile project(":core")
}
我的Racer-server
build.gradle包含此内容(主要受现有项目中文件的启发):
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.google.appengine:gradle-appengine-plugin:1.9.6'
}
}
apply plugin: 'war'
apply plugin: 'appengine'
sourceCompatibility = 1.7
sourceSets.main.java.srcDirs = [ "src/" ]
sourceSets.main.compileClasspath += files(project(':core').sourceSets.main.allJava.srcDirs)
version = '1.0'
eclipse {
project {
name = appName + "-server" //Racer-server
}}
现在当我运行Gradle->刷新所有它似乎做(关于添加核心项目)是这样的:它确实添加了一些东西,但是"核心"甚至不是项目的名称,它是所有其他项目中的Racer-core。
我想要的是核心项目被编译成一个jar并作为依赖项添加到我的服务器项目中,因为我使用的服务器(Google App Engine)需要链接的项目作为jar。
可以使用Gradle完成吗?
答案 0 :(得分:0)
我完全重新制作了这个项目,只保留了我的.java文件。我从头开始,小心地使用gradle包装器,调整构建文件直到我有我想要的东西,并且仍然检查是否所有东西都在android和GAE上运行。
我必须说我不知道最初的问题是什么,但我知道有时候解决方案只是从(半)开始。此外,尝试创建一个同时为许多平台使用部分相同代码的项目,是一种非常精确,容易出错的尝试。