【问题标题】:Gradle building rest spring app can't find main classGradle building rest spring app找不到主类
【发布时间】:2015-02-11 13:49:40
【问题描述】:

我正在尝试编写http://spring.io/guides/gs/rest-service/ 教程,并且我按照教程中的方式进行了所有操作。

当我尝试使用教程中的 gradle.build 使用 gradle 构建时,由于缺少 gradle build 失败

springBoot {
  mainClass = "main.java.hello.Application"
}

我确实添加了它,现在编译可以正确开始和完成,但只要我尝试这样做

java -jar build/libs/gs-rest-service-0.1.0.jar

它会抛出一个错误

我不知道该怎么处理它。有什么帮助吗?

【问题讨论】:

  • 更改模块名称后发生在我身上。在运行应用程序之前执行gradle clean 为我修复了它
  • 这在我的一个特定项目中发生过几次。为了解决这个问题,我所要做的就是重建项目,然后它找到了主类以及其他包等。(从顶级导航栏上的 IntelliJ -> 构建 -> 重建项目)

标签: java spring rest gradle


【解决方案1】:

应该是hello.Applicationmain/java 是包名/项目目录结构的一部分。

将以下代码添加到 build.gradle 时:

springBoot {
  mainClass = "hello.Application"
}

./gradlew clean bootRun./gradlew clean buildjava -jar build/libs/gs-rest-service-0.1.0.jar 都可以正常工作。

【讨论】:

  • 好吧,我使用的是 gradle build,当我使用 ./gradlew 时,它不被识别为内部或外部命令。不知道为什么?
  • 是windows还是linux?如果linux尝试设置chmod +x gradlewgradlew 文件是否存在?
  • 要从gradle build 移动到./gradlew build,您首先必须发出gradle wrapper
【解决方案2】:

上述错误是由于src/main/java/hello文件夹不在gradle构建范围内,构建没有将我们的Web RESTful Service主应用类文件包含到gs-rest-service-0.1.0.jar文件中。

为了避免上述错误或https://spring.io/guides/gs/rest-service/教程的任何其他错误

请按照以下步骤操作。

我的文件夹结构如下。

C:\MyWebService\src\main\java\hello

将您的 build.gradle 文件放在您的主文件夹下,例如 "MyWebService" 不在您的 hello 或任何其他文件夹中,因此“gradle build”将成功。

使用 DOS cmd 导航到您的主文件夹 e.g C:\MyWebService\,其中 src 应该是第一个子文件夹。

运行 gradle 命令。

分级

分级任务

gradle 包装器

gradlew clean build -- 最终构建

或 gradlew clean bootRun -- 在构建之前运行

您会在您的C:\MyWebService\build\libs folder. 下找到您的gs-rest-service-0.1.0.jar

最后从主文件夹e.g C:\MyWebService\调用spring web服务

java -jar build/libs/gs-rest-service-0.1.0.jar

通过在浏览器中点击下面的url来检查Spring RESTful Web Service,将返回JSON数据。

http://localhost:8080/greeting

{"id":1,"content":"Hello, World!"}

现在您应该已成功完成 Spring RESTful Web Service 教程。

注意:请不要修改您提供的原始build.gradle 文件 在教程中。

【讨论】:

    【解决方案3】:
    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'idea'
    apply plugin: 'spring-boot'
    apply plugin: 'application'
    

    在 build.gradle 中添加上面突出显示的行

    【讨论】:

      猜你喜欢
      • 2018-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-30
      • 2021-09-13
      • 2017-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多