我有一个相当简单的要求。我有以下项目布局:
project/build.gradle
--src/main/java
--src/main/res
我想做的是为project/src/main/java
中的所有java文件创建一个jar
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'jetty'
apply plugin: 'war'
dependencies {
..
compile 'com.fasterxml.jackson.core:jackson-core:2.3.0'
compile 'com.fasterxml.jackson.core:jackson-databind:2.3.0'
..
}
jar {
archiveName = 'hello.jar'
}
war {
dependsOn jar
archiveName = 'hello.war'
classpath fileTree(dir:'build/libs/',include:'*.jar')
classpath configurations.compile
webInf {
from ('src/main/res') {
include '**/*.*'
into 'resources/'
}
}
}
war {
dependsOn jar
archiveName = 'hello.war'
classpath fileTree(dir:'build/libs/',include:'*.jar')
classpath configurations.compile
rootSpec.exclude ('WEB-INF/classes')
...
}
war {
dependsOn jar
archiveName = 'hello.war'
classpath fileTree(dir:'build/libs/',include:'*.jar')
classpath configurations.compile
classpath fileTree(dir:'build/classes/', exclude:'*.class')
...
}
使用from(“war”)
:
war {
dependsOn jar
archiveName = 'hello.war'
classpath fileTree(dir:'build/libs/',include:'*.jar')
classpath configurations.compile
from ('war') {
exclude('WEB-INF/classes')
}
}
直接执行“排除”:
war {
dependsOn jar
archiveName = 'hello.war'
classpath fileTree(dir:'build/libs/',include:'*.jar')
classpath configurations.compile
exclude('WEB-INF/classes')
...
}
这些都是我在网上找到的建议--但似乎没有一个奏效。我做错了什么。
分级版本是2.12。
下面是对我起作用的东西,但是你仍然会在战争捆绑包中看到一个(无害的)空包:
war {
rootSpec.exclude('**/com/xxxxx/web/client/')
}
如何才能缓解这种情况?
在使用maven apache felix插件构建捆绑jar时,如何排除一些META-INF文件? 这是我的felix配置 我正在引入所有传递依赖项并嵌入它们,因为我想创建一个可以添加到类路径的jar。 当我尝试运行我的jar时,尽管我遇到了异常 在SO上找到一篇帖子后,我手动删除了一些似乎来自bouncy文件的META-INF/file。然后我重新创建了jar文件,它成功了。有没有一种方法可以使
用chatgpt问了不下十次 给了各种插件的方案 不知道为啥就是不生效 下面是我的pom.xml中的部分片断
那么如何防止插件jar进入war文件呢?多谢了。
我正在使用gradle构建一个Spring Boot应用程序,我希望从war中删除文件,因为该文件将从外部加载(它运行在tomcat容器中,而不是嵌入式的)。 我查看了StackOverflow和Gradle文档,试图找出该做什么,但我不知道该绑定到哪个阶段,以及在创建war之前还是之后排除该文件。处理文件似乎也有多种方法。 我相信Maven使用作为等价物。