2013-11-21 33 views
30

Çok projeli bir yapının (düz hiyerarşi) parçası olan birkaç alt projem var. Üzerinde onların adını klasör adlarından farklı olarak ayarlamak istiyorum. Bununla birlikte, (setting.gradle) içeriğinde, klasör adının bulunması gerekir, aksi takdirde bulamaz (derleme projesi için aynıdır (': ProjectName')).Alt öğe adı klasör adı farklı

Eğer project.name ayarlamaya çalışırsam, bana salt okunur olduğunu söyler. Bunun nedeni, Ant'den dönüyoruz ve Eclipse IDE için aynı ismi tutmak istiyoruz. Eserler kadarıyla, istediğimiz adı ayarlamak için jar.artifactName kullanıyoruz.

cevap

50

Proje adları sadece settings.gradle değiştirilebilir, teşekkür ederiz. Örneğin: Bazı arka plan, include ve includeFlat arasındaki tek fark vermek

include "foofoo" 

project(":foofoo").projectDir = file("foo") 

: Alternatif

include "foo" // or `includeFlat`, doesn't matter 

// always good to nail down the root project name, because 
// the root directory name may be different in some envs (e.g. CI) 
// hence the following even makes sense for single-project builds 
rootProject.name = "bar" 

// change subproject name 
project(":foo").name = "foofoo" 

, sen include açıklamada istenen proje adını kullanın ve daha sonra proje dizini yeniden yapılandırabilirsiniz Projenin projectDir için farklı varsayılanlar kullanıyorlar. Aksi halde aynıdır.

Daha fazla bilgi için, Gradle Build Language Reference numaralı telefondan Settings'a bakın.

+0

Bu iyi çalışıyor. Çok teşekkür ederim. Bu konuda daha fazla şey öğrendiğimde her geçen gün daha fazla şeyden hoşlandığımı söylemeliyim. –

+4

Bu Gradle hangi sürümü için çalışıyor? 1.12 kullanıyorum ve "Project with path": foo 'root projesinde' bar 'bulunamadı. '' 'proje '' (foo ')' '' build.gradle' içerisindeyken kesinlikle var ve ben de '' foo' 'projesini (': foo ') 'önce ekledim. –

+0

Hemen hemen her sürümde çalışmalıdır. Bu hatayı tam olarak nereden aldınız? Build.gradle içinde "proje (': foo') ile kesinlikle ne demek istiyorsun?" –