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

时间:2014-09-07 08:59:41

标签: java spring jar build gradle

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

  16:50:30:执行外部任务'建立' ...   :compileJava   :processResources UP-TO-DATE   :类   :罐   :bootRepackage FAILED   FAILURE:构建因异常而失败。   * 什么地方出了错:   任务执行失败':bootRepackage'。   异常   *尝试:   使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。   建筑失败   总时间:14.935秒   畸形

可能是什么问题?

完整日志:

  

:bootRepackage FAILED
  失败:构建失败,例外。
  * 什么地方出了错:   任务执行失败':bootRepackage'。   畸形
  *尝试:
  使用--info或--debug选项运行以获得更多日志输出   *例外情况是:   org.gradle.api.tasks.TaskExecutionException:任务':bootRepackage'执行失败。          在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter。   Java的:69)           在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46   )           at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskEx)   ecuter.java:35)           在org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)           在org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)           在org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExec)   uter.java:42)           在org.gradle.api.internal.tasks.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.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.j   AVA:43)           在org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:286)           at org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.executeTask(AbstractTaskPlanExecut   or.java:79)           at org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.processTask(AbstractTaskPlanExecut   or.java:63)           在org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:   51)           在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ 1.run(DefaultTaskPlanExecutor.java:33)           在org.gradle.internal.Factories $ 1.create(Factories.java:22)           在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)           at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.longRunningOperation(Defaul)   tTaskArtifactStateCacheAccess.java:93)           在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:31)           在org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:86)           在org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)           在org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)           在org.gradle.execution.DefaultBuildExecuter.access $ 200(DefaultBuildExecuter.java:23)           在org.gradle.execution.DefaultBuildExecuter $ 2.proceed(DefaultBuildExecuter.java:67)           在org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)           在org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)           在org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54)           在org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:166)           在org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)           在org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)           at org.gradle.launcher.exec.InProcessBuildActionExecuter $ DefaultBuildController.run(InProcessBuildActionExecuter)   的.java:64)           在org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)           在org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)           at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)           at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)           在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.gradle.launcher.cli.CommandLineActionFactory $ ParseAndBuildAction.execute(CommandLineActionFactory.java:17   4)           在org.gradle.launcher.cli.CommandLineActionFactory $ WithLogging.execute(CommandLineActionFactory.java:170)           在org.gradle.launcher.cli.CommandLineActionFactory $ WithLogging.execute(CommandLineActionFactory.java:139)           在org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)           在org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)           在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.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.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)           在org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)           在org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:58)   引起:java.lang.IllegalArgumentException:MALFORMED           在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)           在org.springframework.boot.loader.tools.Repackager.buildManifest(Repackager.java:206)           在org.springframework.boot.loader.tools.Repackager.repackage(Repackager.java:139)           在org.springframework.boot.loader.tools.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)           在org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)           at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.doExecute(Anno)   tationProcessingTaskFactory.java:219)           at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute(Annota)   tionProcessingTaskFactory.java:212)           at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute(Annota)   tionProcessingTaskFactory.java:201)           在org.gradle.api.internal.AbstractTask $ TaskActionWrapper.execute(AbstractTask.java:530)           在org.gradle.api.internal.AbstractTask $ TaskActionWrapper.execute(AbstractTask.java:513)           at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.j   AVA:80)           在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter。   的java:61)           ... 52更多
  建筑失败
  总时间:13.0秒

2 个答案:

答案 0 :(得分:14)

如果您不使用启动重新打包,只需将此行添加到build.gradle文件中即可禁用bootRepackage任务:

bootRepackage.enabled = false

否则你需要指定主类:

bootRepackage {
    mainClass = 'youPackage.Application'
}

您可以在this link

中找到更多说明

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

答案 1 :(得分:3)

Spring Boot release 2.0 M1 bootRepackage任务已替换为bootJarbootWar任务。