Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.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 workspace插件生成的捆绑包_Java_Gradle_Jar_Osgi_Bnd - Fatal编程技术网

Java 如何重命名gradle workspace插件生成的捆绑包

Java 如何重命名gradle workspace插件生成的捆绑包,java,gradle,jar,osgi,bnd,Java,Gradle,Jar,Osgi,Bnd,好的,我想重命名由我的构建生成的bundle,以指定其名称中的版本,但是我所做的一切似乎都被忽略了,每次bundle都以projects文件夹名结束 build.gradle文件 apply plugin: 'java' repositories { mavenCentral() } dependencies { // https://mvnrepository.com/artifact/org.osgi/org.osgi.core compile group: 'o

好的,我想重命名由我的构建生成的bundle,以指定其名称中的版本,但是我所做的一切似乎都被忽略了,每次bundle都以projects文件夹名结束

build.gradle文件

apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    // https://mvnrepository.com/artifact/org.osgi/org.osgi.core
    compile group: 'org.osgi', name: 'org.osgi.core', version: '6.0.0'
}

task copyJar(type: Copy) {
    from('generated')
    include('*.jar')
    into("$rootDir/build/lib/bundles")
}

build.finalizedBy(copyJar)
格拉德尔酒店

bundle_name=helloworld
bundle_version=5.1.2
据我所知,jar任务使用baseName和version属性,以及其他属性来命名jar(如果未指定任何内容),因此我尝试在build.gradle文件中命名,但不起作用,我一直得到一个带有项目文件夹名称的jar文件

jar.baseName = "$bundle_name"
jar.version = "$bundle_version"
我也在使用bnd工作区插件,我认为它覆盖了jar任务的工作方式,但我不确定

这是父项目build.gradle

    //Applying the Gradle BND Plugin for Workspace Builds
    //https://github.com/bndtools/bnd/blob/master/biz.aQute.bnd.gradle/README.md
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "biz.aQute.bnd:biz.aQute.bnd.gradle:${bnd_version}"
    }
}
apply plugin: 'biz.aQute.bnd.workspace'
apply plugin: 'java'

    // Repositorios, aguante Maven Central.
/*
repositories {
    mavenCentral()
}
*/

clean {
    delete ("$rootDir/build/libs/bundles")
}

感谢您阅读

如果您使用的是Bnd工作区插件,那么您必须通过项目的Bnd.Bnd文件来控制Bnd。请参阅-outputmask指令以控制输出名称

就像一个符咒,现在我明白了。非常感谢先生,我可以问一个后续问题吗?现在它可以工作了,我得到了具有所需名称的jar文件,但是gradle现在生成了两个jar文件,一个是我在bnd.bnd文件中设置的名称,另一个是previus通用名称,我在哪里可以禁用稍后jar文件的创建?