在gradle

时间:2017-10-26 07:01:59

标签: java spring maven spring-boot gradle

我在 maven 和spring boot中创建了一个项目。通过maven构建它之后工作完美。 毕竟我决定将我的项目交换成gradle。现在,之后:

gradle build

以下异常是comming.Error:

Error: Could not find or load main class

以下是我在问这个问题之前检查过的事情:

  • 确保我有主要方法(我显然有,maven做的很棒)
  • 检查清单中的主要类的路径以及gradle中的jar任务
  • 发现编译的类位于指定路径的指定jar中
  • 在gradle中创建一个jar任务,如下所示:

    jar {
      manifest {
        attributes 'Main-Class': 'pl.sygnity.schedulein.App'
      }
    }
    

我不知道我能做些什么呢。 你能帮帮我吗?

编辑。 重要的是我希望将我的程序用作jar:

java -jar xx.jar

EDIT2。

gradle run

让我的应用程序启动。所以看起来好像gradle build不能以某种方式工作......

3 个答案:

答案 0 :(得分:0)

您需要修改您的gradle清单。

jar {
    manifest {
        attributes <...>
                   'Main-Class': 'main.myMainClass'
    }
}

否则,您可以像这样更改源字段的路径。

sourceSets.main.java.srcDirs = ['MAINFOLDER'] // 'src'

答案 1 :(得分:0)

您需要在build.gradle文件中定义主类。 (您可能有多个,您需要选择使用哪个)

我喜欢用Gradle - the application plugin

来做
apply plugin: 'application'
mainClassName = "<Your main class>"

然后,您可以运行gradle install来使用执行程序构建程序。

答案 2 :(得分:0)

所以我发现这些步骤使我的罐子运转良好。

删除

apply plugin: 'maven'

已添加

apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
有点奇怪,但也许有人会遇到同样的问题。谢谢你的帮助。