我想在build.gradle中指定jar名称和版本,所以我的build.gradle如下所示.
apply plugin: 'java'
version = "1.00.00"
dependencies {
compile files('../../lib/abc.jar')
}
jar{
manifest{
attributes ("Fw-Version" : "2.50.00", "${parent.manifestSectionName}")
}
archiveName 'abc.jar'
}
Run Code Online (Sandbox Code Playgroud)
所以,当我这样做
gradle clean build,我所期待的是生成的jar名称是abc-1.00.00.jar
但它没有发生,输出jar名称仅作为abc.jar,它只是忽略了版本.我想指定jar名称和版本,那么我该如何实现呢?
我当前的build.gradle如下所示。
repositories {
flatDir {
dirs 'lib'
}
maven {
mavenCentral()
}
dependencies {
compile "commons-logging:commons-logging:1.0.4",
"org.apache.httpcomponents:httpclient:4.4",
"org.apache.httpcomponents:httpcore:4.4",
"com.fasterxml.jackson.core:jackson-annotations:2.5.1",
"joda-time:joda-time:2.7",
compile files('../lib/abc.jar')
}
jar {
manifest{
attributes ("Version" : project.version, "${parent.manifestSectionName}")
attributes ("Name" : project.name, "${parent.manifestSectionName}")
}
from {
configurations.runtime.filter( {! (it.name =~ /abc.*\.jar/ )}).collect {
it.isDirectory() ? it : zipTree(it)
}
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我已经在运行时删除了abc.jar,但是以同样的方式,我想删除更多的jar。简而言之,我想在肥罐中放几个罐,并且需要排除几个。那么我该如何实现呢?
我正在尝试从URL中提取具有某些特定扩展名的文件名.例如,我有一个像" https://abc.xyz.com/path/somefilename.xy " 的URL .我需要从上面的URL中提取"somefilename.xy",而不是其他内容.
基本上我需要在我的java程序中编写该代码
我在正则表达式中表现不佳,所以有人可以帮助我.
假设我的目录结构是......
C:\ Program Files\abc\myscript.bat
所以从myscript.bat我想得到这个脚本的父名称,在这种情况下是abc.
请注意,我不想要完整的父路径,我只想要像abc一样的父名.
实现这个目标的简单方法是什么?