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

Spring Boot插件不在jar中添加lib文件夹

司徒修能
2023-03-14
group 'as'
version '1.0'

buildscript {
    ext {
        springVersion = '5.0.4.RELEASE'
        springBootVersion = '1.5.6.RELEASE'
        springJPAVersion = '2.0.5.RELEASE'
        javaxVersion = '1.0.2'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'org.springframework.boot'

jar {
    baseName = 'reports'
    version =  '0.0.1'

    manifest {
        attributes 'Implementation-Title': baseName,
                'Implementation-Version': version
    }

    from {
        configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
    }
}

repositories {
    jcenter()
    maven { url "https://repo.spring.io/snapshot" }
    maven { url "https://repo.spring.io/milestone" }
}

dependencies {
    implementation "org.springframework.boot:spring-boot-starter-web:${springBootVersion}"
    implementation "org.springframework.boot:spring-boot-starter-data-jpa:${springBootVersion}"
    implementation "org.springframework.data:spring-data-jpa:${springJPAVersion}"
    implementation "javax.persistence:persistence-api:${javaxVersion}"
    implementation "mysql:mysql-connector-java:5.1.43"

    testImplementation group: 'junit', name: 'junit', version: '4.11'
}
    null

但结构似乎必须如下:

  • 引导-INF
    • lib

    lib文件夹,其中包含依赖项,因为现在启动后我得到错误:

共有1个答案

田鹤轩
2023-03-14

所以我知道这个答案可能太晚了,无法帮助你,但我在试图解决同样的问题时偶然发现了这个问题,并被提醒了这一点。

经过半天的反复试验,我找到了解决方案,所以希望我可以省去其他人寻找这个未回答问题的痛苦。

问题在于在依赖项中使用implementation关键字。1.x Spring Boot Gradle插件似乎没有将该关键字识别为表示重新打包胖罐子所需的依赖关系。如果将它们改回旧的compile关键字,则应该获得必要的lib文件夹。

 类似资料:
  • 问题内容: 我正在使用Eclipse,我需要能够将Java库(JAR文件)添加到Web应用程序的文件夹中。我该如何实现? 问题答案: 将jar文件添加到您的WEB-INF / lib文件夹中。 在Eclipse中右键单击您的项目,然后转到“构建路径>配置构建路径” 添加“ Web应用程序库”库 这将确保所有WEB-INF / lib jar都包含在类路径中。

  • 问题内容: 我正在编写一个插件来使用filepicker https://github.com/Ink/filepicker- android 的本地android SDK 。 在Maven Central上,它们仅提供.aar文件(http://search.maven.org/#artifactdetails%7Cio.filepicker%7Cfilepicker- android%7C3.

  • 在war中,->不存在“”,但包含所有其他依赖项。

  • 我是新手。与Gradle我有多个项目构建文件。大多数项目构建文件都经过了适当的配置,工作良好,并生成了正确的输出。我正在尝试将其中一个项目从ANT build转换为Gradle build。我能够编译Java文件,并且能够生成WAR归档。 我在生成的WAR文件中注意到的一件事是,WEB-INF/lib目录中包含了额外的JAR文件。当我从ANT build system构建项目时,只有很少的jar文

  • 问题内容: 我正在做一个Maven项目。当在一个想法中编译和运行我的项目时,一切都很好,但是每当我创建jar文件时,都无法将web / lib /中的外部jar文件复制到jar文件中。为什么会发生这种情况?我可以将所有文件插入jar文件吗? 问题答案: 是的,我找到了解决方案。

  • 问题内容: 我想将先前从其他文件(已经完成)中提取的一系列文件添加到jar中。这些文件将覆盖JAR中的文件。最有效的方法是什么?我需要它快。谢谢! 问题答案: 请记住,JAR文件是ZIP文件。 只需使用一些ZIP库。