我想用nebula测试对我的插件进行回归测试。我的插件是用Groovy编写的,但它很简单,当用Gradle 1构建时。x可用于Gradle 2项目。x、 目前我可以用Gradle 1自动测试。x仅由于类路径上的Gradle和Groovy冲突(当从Gradle 2.x运行时,Gradle 1.x和2.x以及Groovy 1.8.6和2.3.6依赖项)。作为一种解决方法,我想把我的插件放在仅类路径的运行时依赖项上(不包括由GradleAppi和localGroovy提供的JAR),并且我需要在为我的插件运行Gradle构建脚本时生成该列表(当测试运行时,确定给定JAR中包含的内容为时已晚)。
如果没有来自gradleApi
和localGroovy
的依赖项,我如何以编程方式(例如build.gradle中的任务)生成运行时依赖项列表(实际上是由它们构建/类/main和构建/资源/main添加到类路径中的JAR)?
以下是一个不需要添加额外配置的解决方案:
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile 'org.apache.ant:ant-javamail:1.9.0'
compile 'javax.mail:mail:1.4'
compile 'javax.activation:activation:1.1.1'
compile gradleApi()
compile localGroovy()
}
task deps << {
def home = project.gradle.startParameter.gradleHomeDir
project.configurations.runtime.files.findAll { f ->
!f.absolutePath.startsWith(home.absolutePath)
}.each {
println it
}
}
听起来你想要这样的东西:
configurations {
gradleDeps
}
dependencies {
gradleDeps gradleApi() // includes localGroovy
compile configurations.gradleDeps
compile ...
runtime ...
}
def runtimeWithoutGradleDeps = configurations.runtime - configurations.gradleDeps
task printFiles {
doLast {
runtimeWithoutGradleDeps.each { println it }
}
}
问题在于,当我通过工件spring-boot-maven-plugin用maven编译服务时,.war文件内部总是有依赖关系。因为我想知道是否有人知道如何配置maven来删除.war文件中的依赖项......穿着春靴。 war随后出现了里面的依赖关系,经过编辑:我已经添加了提供的,就像Michael Potter所说的和执行一样。很好用。我的pom.xml如下:
我正在编写一个spring-mvc应用程序(并学习spring-mvc)。我没有向pom.xml添加servlet依赖项。当我运行或时,它会成功地完成。不是应该抛出类似“can not find javax.servlet.http.HttpServlet”这样的异常吗?它是如何编译的?
问题内容: 如何以编程方式在Maven执行环境之外获取Maven模块的所有依赖关系? 到目前为止,我有: 通过maven-core: 并通过jcabi-aether: 到目前为止,这通常正确吗? 现在的问题是,我得到了NullPointerException: 因为mavenProject.getRemoteProjectRepositories()返回null。 如何在考虑settings.xm
问题内容: 有一个Java文件,其中包含一些依赖项jar。但是现在,我没有那些jars,必须将其编译为.class文件。 是否有可能做到这一点? 更新 感谢您的回答。 起初,我认为我们可以为缺少的依赖项创建一些存根,这很简单但是很无聊。既然我们可以创建存根而不会丢失存根以使编译器满意,那么为什么我们不能使工具自动完成呢?该工具不需要创建存根,而是读取java文件,收集信息,然后构建.class文件
我正在尝试安装一个没有依赖项的python模块。 我跑: 但是这个安装依赖项,任何想法怎么能做到这一点?