如何将项目作为JAR添加为另一个项目的依赖项? (摇篮)

时间:2014-07-08 00:16:07

标签: java google-app-engine gradle

我已经生成了根项目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->刷新所有它似乎做(关于添加核心项目)是这样的:eclipse project properties它确实添加了一些东西,但是"核心"甚至不是项目的名称,它是所有其他项目中的Racer-core。

我想要的是核心项目被编译成一个jar并作为依赖项添加到我的服务器项目中,因为我使用的服务器(Google App Engine)需要链接的项目作为jar。

可以使用Gradle完成吗?

1 个答案:

答案 0 :(得分:0)

我完全重新制作了这个项目,只保留了我的.java文件。我从头开始,小心地使用gradle包装器,调整构建文件直到我有我想要的东西,并且仍然检查是否所有东西都在android和GAE上运行。

我必须说我不知道​​最初的问题是什么,但我知道有时候解决方案只是从(半)开始。此外,尝试创建一个同时为许多平台使用部分相同代码的项目,是一种非常精确,容易出错的尝试。