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

Gradle:任务:当我用gradlew构建得到我的罐子时,罐子跳过了

严宇
2023-03-14
    null

(昨天我在maven中失败了,因为“在….jar中没有main manifest属性”)

共有1个答案

阮星火
2023-03-14

这是因为Springboot Gradle插件将创建bootjar任务,默认情况下将禁用jarwar任务,如下所述:https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/html/#packaging-executable-and-normal

因此,您需要从IDE执行bootjar任务。当执行Gradlew Build时,由于插件创建的任务依赖关系,任务bootjar将自动执行。

当运行任务build(从控制台或IDE)时,您可以看到Gradle根据任务依赖关系执行的任务,例如:

> Task :backend:compileJava
> Task :backend:processResources
> Task :backend:classes
> Task :backend:bootJar      ## <== this is the task register by Springboot plugin, which produces the "Fat/executable" jar
> Task :backend:jar SKIPPED  ## <== task disabled by Springboot plugin
> Task :backend:assemble
> Task :backend:processTestResources
> Task :backend:testClasses
> Task :backend:test
> Task :backend:check
> Task :backend:build

对于你的评论

jar运行良好,它找到了主类-即使在build.gradle中没有jar manifest属性

Springboot插件将自动为您进行配置,请参见:https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/html/#packaging-executable-configuring-main-class

 类似资料:
  • 知道为什么吗 工作,但是双击罐子会给一个 错误?清单被正确放置,双击直到最近还在工作,但突然之间它给出了这个错误。我不确定我做了什么改变。 编辑: 我用来创建jar的命令是(在cmd中): Main是包文件的一部分。

  • 我正在尝试使用Gradle构建一个ear。 我的项目树如下所示: 我注意到war插件的捆绑样例也有同样的问题...提前致谢

  • 我在容器中运行SpringBoot的一大组服务上工作。我们构建一个“Spring Boot Jar”并用“java -jar”执行它作为容器中的启动脚本。 我被要求实现一些概念上看起来很简单的东西,但我发现它可能相当粗糙。 需要发生的是,脚本需要检查映射卷中的特定 jar 文件,如果存在,请使用增强的类路径(包括其他 jar)运行Spring启动服务。 我意识到这非常混乱,因为当你用“java -

  • 如标题所示,我想知道如何修改以创建一个唯一的,其中包含所有依赖项(包括kotlin lib)。 我在Groovy中找到了这个示例: 但我不知道我怎么能用kotlin写,除了:

  • 我试图在NetBeans中建立一个胖罐子。当我点击clean时,它显示以下错误: C:\workspace\travel_agency\nbproject\build-impl.xml:63:源资源不存在:C:\workspace\travel_agency\dist\nblibraries.properties 然后单击错误,它会将我发送到build-imple.xml文件中的以下行:

  • 问题内容: 我正在尝试创建包装另一个jar的OSGi服务。我将jar添加到项目,类路径和二进制构建中。我在Activator中注册了该服务,但是当消费包调用该服务时,我在包装jar上得到了java.lang.NoClassDefFoundError。有人知道我在做什么错吗? 提前致谢。 问题答案: 您是否正在导出使用者所需的软件包以及实施所需的所有软件包。消费者将需要导入将被引用的所有内容。 附带