Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Gradle定制提供的范围包括JAR到war归档_Java_Maven_Jakarta Ee_Intellij Idea_Gradle - Fatal编程技术网

Java Gradle定制提供的范围包括JAR到war归档

Java Gradle定制提供的范围包括JAR到war归档,java,maven,jakarta-ee,intellij-idea,gradle,Java,Maven,Jakarta Ee,Intellij Idea,Gradle,我对提供的依赖范围有问题。 在我的多项目中,结构如下: 根耳 ejb 网 Web模块依赖于ejb 这是我的root build.gradle: apply plugin: 'ear' allprojects { apply plugin: 'java' apply plugin: 'idea' configurations { provided } sourceSets { main { compileClasspath += configurations.provided runtim

我对提供的依赖范围有问题。 在我的多项目中,结构如下:

根耳

  • ejb
Web模块依赖于ejb

这是我的root build.gradle:

apply plugin: 'ear'
allprojects {
apply plugin: 'java'
apply plugin: 'idea'

configurations {
provided
}

sourceSets {
main {
compileClasspath += configurations.provided
runtimeClasspath += configurations.provided
}
test {
compileClasspath += configurations.provided
runtimeClasspath += configurations.provided
}
}

idea { module { scopes.PROVIDED.plus += [configurations.provided] } }

dependencies{
provided 'javax.enterprise:cdi-api:1.1'
}
}
dependencies{
deploy project(path: ':web', configuration: 'archives')
deploy project(':ejb')
}

}
在project ejb中,我定义了提供的依赖项:

dependencies{
    provided 'javax.ejb:javax.ejb-api:3.2'
    provided 'javax.transaction:javax.transaction-api:1.2'
    provided 'org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final'
}
在web模块中:

apply plugin: 'war'

dependencies{
    providedCompile project(':ejb')
    providedCompile 'javax.faces:javax.faces-api:2.2'
    providedCompile 'javax.servlet:javax.servlet-api:3.1.0'

}
使用Gradle war插件时,您可以声明 提供编译依赖项以告诉编译器包含这些依赖项 编译类路径中的依赖项,但不使Gradle包含 它们被包装在战争神器里

但当我提供的自定义文件包含对war存档的依赖时: 'javax.enterprise:cdiapi:1.1'

我如何解决我的问题?

我通过添加以下代码解决了问题:

war {
    classpath = classpath - configurations.provided
}

你在哪里加的?