大家好!首先,我很抱歉这个糟糕的头衔。我不知道如何准确地描述我的问题。我有一个像这样的当前build.gradle:
/*** Gradle build file for ProjectA ***/
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'ivy-publish'
sourceCompatibility=1.6
group = 'no.sample.project.client'
version='2.0.4.7'
repositories {
ivy {
url "K://development/shared-libs/ivy2"
}
mavenCentral();
}
dependencies {
// compile project(':ProjectB')
// compile project(':ProjectC')
// compile project(':ProjectD')
compile 'commons-io:commons-io:2.4+'
compile 'org.apache.commons:commons-lang3:3.1+'
compile 'commons-validator:commons-validator:1.4.0+'
compile 'com.google.code.gson:gson:2.2.4+'
compile 'com.itextpdf:itextpdf:5.5.3'
compile 'com.miglayout:miglayout-swing:4.2'
compile 'org.swinglabs:swingx:1.6.1'
compile 'com.jgoodies:jgoodies-common:1.7.0'
compile 'com.jgoodies:jgoodies-binding:2.10.0'
compile 'no.sample.project.common:ProjectB:1.0.3.0'
compile 'no.sample.project.common:ProjectC :1+'
compile 'no.sample.project.client:ProjectD:2.+'
compile 'org.tigris.gef:gef:0.13.8'
// compile files('tmpLib/gef-0.13.8.jar')
}
// Defines what and where to publish.
publishing {
publications {
ivyJava(IvyPublication) {
from components.java
}
}
repositories {
ivy {
url "K://development/shared-libs/ivy2"
}
}
//xlint . has something to do with javaCompile
allprojects {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:deprecation" << "-Xlint:unchecked"
}
}
}
其他项目(例如ProjectF)正在使用ProjectA,当我们需要调试时会出现问题。假设ProjectF有错误,错误在ProjectA中。我们无法直接访问ProjectA,因为它是一个jar,当我们不部署时,我们无法附加源代码。 (我们当然不希望将源代码提供给客户端。)我想要实现的是我们在使用/调试ProjectF(开发)时添加ProjectA本身作为依赖项,但是发布项目使用唯一的ProjectA的JAR文件作为依赖项。
我希望我已经足够清楚,请不要犹豫,不要问任何事情。
PS。
对此问题的修改可能非常有用。我只是很擅长解释并给出一个好头衔。