我现在对gradle build有一个奇怪的问题。详情如下。
我目前有一个基于JavaSpring Boot的多模块gradle项目,其结构如下
RootProjectDir
SubProjectA
SubProjectB
SubProjectCommon
建造。每个项目的梯度文件如下所示
RootProjectDirbuild.gradle
dependencies {
compile project(":SubProjectA")
compile project(":SubProjectB")
compile project(":SubProjectCommon")
testCompile('org.springframework.boot:spring-boot-starter-test')
}
子项目构建。格拉德尔
dependencies {
compile project(":SubProjectCommon")
}
SubProjectBbuild.gradle
dependencies {
compile project(":SubProjectCommon")
}
共同build.gradle
dependencies {
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.springframework.boot:spring-boot-starter-jdbc')
compile('org.springframework.boot:spring-boot-starter-web')
.....
.....
}
当我执行
gradle清洁构建
构建在SubProjectA的compileTestJava阶段失败。SubProjectA测试对SubProjectCommon中的类具有编译时间依赖性。
如果我只是执行以下命令
Gradle: subProjectA compileTestJava
构建再次成功。
失败的消息是无法解析SubProjectCommon类。
奇怪的是,在IntelliJ IDEA中,它没有显示SubProjectA测试类的任何编译问题,测试执行良好。还有当我刚刚执行
梯度清洁试验
一切工作正常。
我甚至尝试在SubProjectA构建中对SubProjectCommon设置testCompile依赖项。像这样的渐变
子项目构建。格拉德尔
dependencies {
compile project(":SubProjectCommon")
testCompile project(":SubProjectCommon")
}
但还是不行
PS:-我目前只为子项目类编写了测试用例。
IDE并没有很好地尊重模块路径,尤其是Eclipse,所以所有内容通常都包含在一起,所以您不会遇到任何路径问题。
Gradle对不同的项目进行了清晰的区分。
因此,如果您的类位于测试文件夹中,则可能需要使用以下方法正确引用测试集:
testCompile project(":SubProjectCommon").sourceSets.test.output
或者
compile project(":SubProjectCommon").sourceSets.test.output
取决于哪个源集正在使用其他项目中的类。
我目前使用的是带有hibernate3-maven-plugin的Hibernate 3.6.9。我使用目标hbm2ddl来生成一个sql模式文件。 该插件不支持Hibernate 4.1.2。如何生成架构文件?
问题内容: 我在公司网络上构建Docker映像时遇到问题。我刚刚开始使用Docker,因此我有一个用于hello-world类型应用程序的以下Dockerfile: 当我在家中通过自己的无线网络在笔记本电脑上构建笔记本电脑时,这种方法效果很好。它拉下必要的依赖关系并正确构建映像。 但是,当我在公司网络上工作时,尝试从download.fedoraproject.org拉下RPM时,此同一个Dock
例如。 可以更改为 ...什么的。 null
任何人谁可以解决这个问题的颤振。请帮帮我。谢谢 失败:生成失败,出现异常。 > 其中:Build file'C:\hello\u everyone\android\app\Build。梯度线:1 错误:评估项目“: app”时出现问题。 在Project类型的project': app'上找不到参数[]org.gradle.api.方法Properties()。 > 尝试:使用--stacktra
问题内容: 我在Objective-C中使用和获取应用程序的构建日期和时间。我找不到在Swift中获取此信息的方法。可能吗? 问题答案: 您可以使用,和。 原始答案: 在您的项目中创建一个新的Objective-C文件,当Xcode询问时,对创建桥接标头说是。 在这个新的Objective-C文件中,添加以下文件: 并在实现这些功能中: 现在转到桥接头并导入我们创建的。 现在回到您的任何Swift
我想从我的内部存储库下载我的Ant项目(运行在Netbeans上)中的所有依赖项/JAR。 2.i.我的ivysettings.xml文件是: 2.二.我的ivySettings-file.properties是: ivy.settings.dir=C:\users\documents\NetBeansProjects\antProject\JavaApplication1, Cache.dir=