Java:gradle构建失败bootRepackage(在创建jar上)

做一个Web项目意味着:Java(jdk 1.7.0.51)+ Spring框架(+ velocity)+ Hibernate + Gradle + Apache Tomcat。 突然间,出现了一个问题:你无法进行构建。 使用Gradle构建。

16:50:30:执行外部任务’build’…:compileJava:processResources UP-TO-DATE:classes:jar:bootRepackage FAILED FAILURE:构建失败,exception。 *出了什么问题:任务执行失败’:bootRepackage’。 MALFORMED *尝试:使用–stacktrace选项运行以获取堆栈跟踪。 使用–info或–debug选项运行以获取更多日志输出。 BUILD FAILED总时间:14.935秒MALFORMED

可能是什么问题呢?

完整日志:

:bootRepackage FAILED
FAILURE:构建因exception而失败。
*出了什么问题:任务执行失败’:bootRepackage’。 exception
*尝试:
使用–info或–debug选项运行以获取更多日志输出。
*exception是:org.gradle.api.tasks.TaskExecutionException:任务’:bootRepackage’的执行失败。 在org.gradle上的org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)位于org.gradle.api的org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)上的.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskEx ecuter.java:35)。在org.gradle.api.internal.tasks的org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExec uter.java:42)中的internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) .execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.j ava:52)org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)at org.gradle.api.internal.tasks.execution。 ExecuteAtMostOnceTask Executer.execute(ExecuteAtMostOnceTaskExecuter.j ava:43)atg.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:286)at org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.executeTask(AbstractTaskPlanExecut or.java: 79)org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.processTask(AbstractTaskPlanExecut or.java:63)org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)at org.gradle。执行.taskgraph.DefaultTaskPlanExecutor $ 1.run(DefaultTaskPlanExecutor.java:33)org.gradle.internal.Factories $ 1.create(Factories.java:22)at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java: 198)org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:266)at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStor e.java:135) 在Org.gradle.exe的Org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.longRunningOperation(Defaul tTaskArtifactStateCacheAccess.java:93)org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:31)。在org.gradle的org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)的org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)上的taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:86) org.gradle.execution.DefaultBuildExecuter $ 2.proceed(DefaultBuildExecuter.java:67)org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)atexe。 org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)位于org.gradle.initialization.Default的org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54) 位于org.gradle.launcher org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)的GradleLauncher.doBuildStages(DefaultGradleLauncher.java:166) .exec.InProcessBuildActionExecuter $ DefaultBuildController.run(InProcessBuildActionExecuter .java:64)org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java) :24)org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)atg.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)at org.gradle.launcher.cli。 RunBuildAction.run(RunBuildAction.java:50)org.gradle.api.internal.Actions $ RunnableActionAdapter.execute(Actions.java:171)org.gradle.launcher.cli.CommandLineActionFactory $ ParseAndBuildAction.execute(CommandLineActionFactory.java: 20 1)在org.g 在org.gradle.launcher.cli.CommandLineActionFactory的org.gradle.launcher.cli.CommandLineActionFactory $ WithLogging.execute(CommandLineActionFactory.java:170)的radle.launcher.cli.CommandLineActionFactory $ ParseAndBuildAction.execute(CommandLineActionFactory.java:17 4) org.gradle.launcher.cli.ExceptionReportingAction.exe执行(ExceptionReportingAction.java:33)中的$ WithLogging.execute(CommandLineActionFactory.java:139)org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)at at Org.gradle.launcher.Main.doAction(Main.java:46)org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)org.gradle.launcher.Main.main(Main.java: 37)在org.gradle.launcher.laraderMain.main的org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32)org.gradle.launcher.GradleMain.main (GradleMain.java:23)在org.gradle.wrappe的org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30) r.WrapperExecutor.execute(WrapperExecutor.java:127)at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:58)引起:java.lang.IllegalArgumentException:MALFORMED at org.springframework.boot.loader.tools。 MainClassFinder.getClassEntries(MainClassFinder.java:237)org.springframework.boot.loader.tools.MainClassFinder.doWithMainClasses(MainClassFinder.java:200)org.springframework.boot.loader.tools.MainClassFinder.findSingleMainClass(MainClassFinder.java: 187)org.springframework.boot.loader.tools.Repackager.findMainMethod(Repackager.java:228)org.springframework.boot.gradle.repackage.RepackageTask $ LoggingRepackager.findMainMethod(RepackageTask.java:2 19)at org。 springframework.boot.loader.tools.Repackager.buildManifest(Repackager.java:206)位于org.springframework.boot.loader.tools的org.springframework.boot.loader.tools.Repackager.repackage(Repackager.java:139)。 Repackager.repackage(Repackager.java:122)在org.springframework.boot.gradle.repackage.RepackageTask $ repackageAction.repackage(RepackageTask.java:173)org.springframework.boot.gradle.repackage.RepackageTask $ RepackageAction.execute(RepackageTask.java:138)org.springframework.boot.gradle.repackage.RepackageTask $ RepackageAction.execute (RepackageTask.java:1)org.gradle.api.internal.Actions $ FilteredAction.execute(Actions.java:203)org.gradle.api.internal.DefaultDomainObjectCollection.all(DefaultDomainObjectCollection.java:110)at org。 gradle.api.internal.DefaultDomainObjectCollection.withType(DefaultDomainObjectCollection.java:120)org.springframework.boot.gradle.repackage.RepackageTask.repackage(RepackageTask.java:89)at org.gradle.internal.reflect.JavaMethod.invoke( JavaMethod.java:63)atg.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.doExecute(Anno tationProcessingTaskFactory.java:219)at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute (Annota tionProcessingTaskFactory.jav a:212)org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute(Annota tionProcessingTaskFactory.java:201)at org.gradle.api.internal.AbstractTask $ TaskActionWrapper.execute(AbstractTask.java:530 )org.gradle.api.internal.AbstractTask $ TaskActionWrapper.execute(AbstractTask.java:513)org.gradle上的org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.j ava:80) .api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter。 java:61)…还有52个
建筑失败
总时间:13.0秒

如果您不使用引导重新打包,则可以通过将此行添加到build.gradle文件中来禁用bootRepackage任务:

 bootRepackage.enabled = false 

否则你需要指定主类:

 bootRepackage { mainClass = 'youPackage.Application' } 

您可以在此链接中找到更多说明

如果仍有问题,请分享您的build.gradle。

从Spring Boot版本2.0 M1开始 , bootRepackage任务已被bootJarbootWar任务替换。