当前位置: 首页 > 知识库问答 >
问题:

使用gradle复制时Jar文件为空

章嘉致
2023-03-14

| - root
 \ 
   | - subproject_a
   | - subproject_b
   | - subproject_c

subproject_c中的gradle文件将subproject_a和subproject_b生成的jar复制到自己的libs文件夹中进行编译

文件被复制(也就是说,jar文件的名称显示在subproject_c的libs文件夹中),但它们完全是空的。

这是subproject_cgradle文件中进行复制的部分。

task copyJars(type: Copy) {
    rootProject.subprojects.each {
        from("${it.projectDir}/libs") {
            include '*.jar'
        }
        into "{projectDir}/libs"
    }
} 

共有1个答案

西门建安
2023-03-14

我是为了那些将来可能会遇到这种情况的人而做出回应的。这最终对我有用。

 task copyJars() { 
    rootProject.subprojects.each { 
        File fileProj = new File("{it.projectDir}", "libs");
        if(fileProj.exists() && fileProj.absolutePath != "${projectDir}/libs") { 
            copy {
                from(fileProj)
                into "${projectDir}/libs"
                include "*.jar"
             }  
        }
    }
 } 
 类似资料:
  • 我正在尝试使用Gradle从Nexus服务器复制最新的jar文件()。 使用版本而不是(并调用)将得到: 更新: 使用版本而不是(并调用)会产生几乎相同的错误,唯一的区别是: > 第2行改为: 找不到com.bar.baz:映射:0.0.1-快照。 位置中没有搜索 使用版本而不是(并调用)将得到: 另一个更新: 使用maven从nexus服务器复制最新的jar文件确实有效,使用以下pom.xml:

  • 使用Java8。 为了获得最佳性能,我尝试用复制文件,但很快发现它不支持汉字。例如: 代码打算从jar复制一个文件,但它抛出了一个异常(a“我的" 文件夹已提前创建): 问题是鎴戠殑" 甚至连一个中国人都看不懂,所以我正在寻找一个解决办法来处理汉字。 我也尝试了FileChannel,但失败了,意识到它用于直接文件,而不是在一个jar中的文件。我该怎么做?

  • 我有一个META-INF文件夹,其中有persitence.xml和orm.xml。当我用下面的gradle构建一个jar文件时,这些文件不会包含在jar中。如何将这些文件复制到jar中?

  • 我们有一个旧的playframework 1.2。x版本,我们将所有JAR复制到project/lib,以便playframework可以使用它们。我们也希望复制所有的源jar,这样当运行nig play eclipse时,我们就可以查看所有的第三方源。有没有办法让gradle做到这一点? 我的意思是当我运行gradle eclipse时下载的所有源代码罐,因为我看到它们下载了缓存位置。我们在一个

  • 我在试着做一个可执行的JAR。我的IDE是Netbeans 7.3.1,使用Gradle插件用于Netabeans,使用JavaFX插件用于Gradle。 简单的JavaFX应用程序: 分级文件: Build.Gradle: 当我使用时,它可以在IDE中完美地运行;但没有IDE我无法启动它。