我在src/main/resources下有一个“生产”日志返回配置文件logback.xml...但是该目录还包含“测试”日志返回配置文件log back-test . XML(log back首先查找该文件)。
创建可执行jar时,我想删除“测试”xml文件。
我试过这个
jar {
manifest {
// PS this is the correct line for Shadow Plugin...
attributes 'Class-Path': '/libs/a.jar'
attributes 'Main-Class': 'core.MyMainClass'
}
exclude("**/resources/*test*")
}
jar {
manifest {
attributes 'Class-Path': '/libs/a.jar'
attributes 'Main-Class': 'core.MyMainClass'
}
doLast {
exclude("**/resources/*test*")
}
}
...我做错了什么?
后来
我在这里发现,我可能使自己难以将这些xml放在/src/main/资源下...所以我在src,/logback下创建了一个新目录,并将文件放在那里。我通过执行以下操作将其添加到类路径中(正如logback所说,这是它查找这些文件的地方):
test {
classpath += files( 'src/logback' )
}
有趣的是,除了意味着测试期间的日志记录发生正常之外,这足以使生成的可执行 jar 在运行时使用 logback OK。
不幸的是,像这样配置“shadow jar”< code >任务
shadowJar {
baseName = 'DocumentIndexer'
classifier = null
version = project.version
exclude("logback/*test*")
}
或者像这样配置“jar”< code > task :
jar {
manifest {
attributes 'Class-Path': '/libs/a.jar'
attributes 'Main-Class': 'core.ConsoleIOHandler'
}
exclude("logback/*test*")
}
...只是拒绝工作:logback-test.xml文件仍然在jar中。
configurations {
provided
compile.extendsFrom provided
}
dependencies {
provided 'WHATEVER' // Packages you don't need to add to jar
provided 'Other WHATEVER' // Packages you don't need to add to jar
shadow 'OTHER' // Packages you need to add to jar
shadow 'Another OTHER' // Packages you need to add to jar
}
shadowJar {
configurations = [project.configurations.shadow] // ***
}
正如这里提到的
行 *** 是告诉影子在 jar 中包含哪些依赖项的方法
我从gradle.org的论坛上得到了答案。
基本的答案是,“测试”回溯配置文件应该放在src/test/resources下,而“生产”配置文件应该放在src/main/resources下。这样前者将被排除在罐子之外。
回答者还说,“资源”是指定相对路径的根之一。
我正在尝试创建一个Jar用作Maven存储库 我已经构建了所有内容,所有类都准备好了。唯一的问题是gradlew./build包含了测试文件夹中的类和资源。我不希望这些作为jar的一部分,尤其是正在测试的资源文件。 因此,我的问题是,如何从jar构建任务中排除这些文件。我试过了 在我的身体里。格拉德尔:但那没用 我是Gradle和Maven的新手,所以任何洞察力都会有帮助。谢谢! 参考材料 bui
我试图在Spring Boot+Gradle项目中构建一个可执行的jar,但目前没有任何工作。下面是最简单的结构。可能,Gradle配置中缺少一些东西。 格雷德尔: 主配置文件: 当我运行java-jar1.jar这样的jar文件时,出现了以下异常: 可能出了什么问题?
如何用Gradle创建可执行JAR? 我尝试了,但它不起作用。
在声纳分析中,我们有很多符号执行的异常(在这里描述)。据我所知,负责符号执行的规则是S2259和S2583,所以我创建了一个质量配置文件,排除了这些规则,但在声纳分析中仍然有excetpions。我们使用sonar-maven-plugin进行分析,我用sonar6.5和sonar6.7进行了测试。我如何将符号执行排除在分析之外。
是否有一种方法可以使用Gradle从一组中排除特定的jar?我尝试了下面的代码,但这删除了该组的所有jar
您好,我已经创建了一个带有gradle配置的spring boot项目,其中包含身份验证、社交登录等常见功能,我想从gradle项目生成可执行的jar文件并生成为依赖项,这样我就可以将其导入到另一个spring gradle或maven项目中,以便访问包含的依赖项的RESTendpoint (项目A:希望成为图书馆) 建筑格拉德尔 项目还包含endpoint,如 它使用gradle build命令