【问题标题】:Unable to resolve java build / Spring无法解析 java build / Spring
【发布时间】:2020-03-25 13:27:35
【问题描述】:

首先要说的是,我是一个相对缺乏经验的程序员。

我的任务是将给定的 gradle 项目导入 Spring Boot Tool Suite (sts)。我已经下载了springboot cli、java、gradle。 & 过去,我可以在另一个项目上完美地运行 spring,不幸的是我不得不更换我的硬盘,所以我失去了相当多的下载量。

不过,我的问题分为两部分。首先,我的工具套件(ide?它基本上是 eclipse)没有将我的项目识别为 java 项目,我尝试了很多选项,唯一的解决方法是在 buildCommand 标记中硬编码 org.eclipse.core.javabuilder我的 .project 文件,我不记得为我的上一个项目做了什么。

这里是后端文件夹的目录树(前端不用管)

.
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
    ├── main
    │   ├── java
    │   │   └── ca
    │   │       └── mcgill
    │   │           └── ecse321
    │   │               └── eventregistration
    │   │                   ├── EventRegistrationApplication.java
    │   │                   ├── controller
    │   │                   │   ├── ApiError.java
    │   │                   │   ├── EventRegistrationRestController.java
    │   │                   │   └── RestExceptionHandler.java
    │   │                   ├── dao
    │   │                   │   ├── EventRegistrationRepository.java
    │   │                   │   ├── EventRepository.java
    │   │                   │   ├── PersonRepository.java
    │   │                   │   └── RegistrationRepository.java
    │   │                   ├── dto
    │   │                   │   ├── EventDto.java
    │   │                   │   ├── PersonDto.java
    │   │                   │   └── RegistrationDto.java
    │   │                   ├── model
    │   │                   │   ├── Event.java
    │   │                   │   ├── Person.java
    │   │                   │   ├── Registration.java
    │   │                   │   └── RegistrationManager.java
    │   │                   └── service
    │   │                       └── EventRegistrationService.java
    │   └── resources
    │       └── application.properties
    └── test
        └── java
            └── ca
                └── mcgill
                    └── ecse321
                        └── eventregistration
                            └── service
                                ├── event
                                │   └── TestCinema.java
                                ├── payment
                                │   ├── TestPaymentWithCreditCard.java
                                │   ├── TestPaymentWithCreditCardData.java
                                │   └── TestUtils.java
                                └── role
                                    ├── PromoterRoleTestData.java
                                    └── TestPromoterRole.java

另外,这是我的 build.gradle 文件

buildscript {
	ext {
		springBootVersion = '2.1.2.RELEASE'
	}
	repositories {
		mavenCentral()
	}
	dependencies {
		classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
	}
}

apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
	mavenCentral()
}
 
dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	runtimeOnly 'org.postgresql:postgresql'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

这解决了我的 java 问题,但我仍然无法让它作为 Spring Boot 应用程序运行。

请帮忙,因为我不知道从哪里继续!!!我需要能够将此项目作为后端服务的 Spring Boot 应用程序运行,因为我将负责使用 vue.js 将其连接到前端服务。 (别担心我得到了那个部分)!

这也是我的 EventRegistration.java 文件

package ca.mcgill.ecse321.eventregistration;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.SpringApplication;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;

@RestController
@SpringBootApplication
public class EventRegistrationApplication {

	public static void main(String[] args) {
		SpringApplication.run(EventRegistrationApplication.class, args);
	}

	@RequestMapping("/")
	public String greeting() {
		return "ECSE321 Event Registration Application - Backend base URL.\n"
				+ "Use the API methods to interact with the backend!";
	}
}

【问题讨论】:

  • 为了识别一个spring应用,IDE通常使用主应用类中的注解。你EventRegistrationApplication.java的内容是什么?
  • @Josh 我在上面编辑了我的帖子以包含 EventRegistrationApplication.java

标签: java spring spring-boot maven gradle


【解决方案1】:

虽然我停止使用 eclipse,但以下用于解决此类情况
1. - Eclipse ->preferences-->java-->已安装 JRE --> 选择标准 vm
(可以在这里找到 jdk1.8.0_51.jdk/Contents/Home)

2。 - 将 JRE 系统库添加到您的项目构建路径
- 右键单击​​项目 > 选择构建路径 > 库 >
- 如果列出了 JRE,则很好,否则 > 添加库
- 选择 JRE 库并完成

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    • 2015-04-24
    • 2022-08-17
    • 1970-01-01
    相关资源
    最近更新 更多