在我的应用程序中,我有 3 个这样的模块:
permissions (parent pom)
|---permission-api (just api, without main spring class)
|---permission-service (spring boot app)
Run Code Online (Sandbox Code Playgroud)
在主模块的父pom中,我有pom,其中包含:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<modules>
<module>permissions-api</module>
<module>permissions-service</module>
</modules>
Run Code Online (Sandbox Code Playgroud)
和一些依赖项。现在我想用 Maven clean install 构建我的整个项目。Permission-api模块已构建(lombok注释没有问题)。在 pom 中,对 lombok 的唯一引用是:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
Run Code Online (Sandbox Code Playgroud)
无论如何,当我尝试仅构建权限服务或整个项目时,我遇到了如下编译错误:
cannot find symbol
[ERROR] symbol: method getPermissionsList()
[ERROR] location: variable employee of type permissions.model.entity.Employee
Run Code Online (Sandbox Code Playgroud)
我知道我应该将 maven-compiler-plugin 添加到 pom.xml (我也尝试将其添加到父 pom 中),我这样做了,但没有帮助:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId> …Run Code Online (Sandbox Code Playgroud) 我想为我的 BookService 编写一个测试。这就是那个测试。我不知道为什么我总是收到以下错误:
org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter
[com.mrfisherman.library.service.domain.BookService bookService] in constructor
[public com.mrfisherman.library.service.domain.BookServiceTest(com.mrfisherman.library.service.domain.BookService,
com.mrfisherman.library.persistence.repository.BookRepository)].
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我在这里不使用参数化测试。先感谢您!
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = Server.class)
class BookServiceTest {
private final BookService bookService;
private final BookRepository bookRepository;
public BookServiceTest(BookService bookService, BookRepository bookRepository) {
this.bookService = bookService;
this.bookRepository = bookRepository;
}
@Test
void saveBook() {
//given
Book book = new Book();
book.setTitle("Book 1");
book.setPublishYear(1990);
book.setType(BookFormat.REAL);
book.setIsbn("1234567890");
book.setDescription("Very good book");
book.setNumberOfPages(190);
book.setSummary("Very short summary");
book.setCategories(Set.of(new Category("horror"), new Category("drama")));
//when
bookService.saveBook(book);
//then
Optional<Book> loaded = bookRepository.findById(book.getId()); …Run Code Online (Sandbox Code Playgroud) 我有一个Map<Flashcard, FlashcardStats> flashcards. Flashcard 类包含两个字段:字符串术语和字符串定义。当我必须从抽认卡中找到特定的抽认卡时,我该如何通过 Java 8 Streams 来完成?如何收集 Flashcard 对象或仅具有术语的定义字段?
例如:
private static String getWrongAnswerMessage(Map<Flashcard, FlashcardStats> flashcards, String term, String answer) {
Flashcard flashcard = flashcards.keySet().stream().filter(o -> o.getTerm().equals(term)).collect() //what now
Run Code Online (Sandbox Code Playgroud) 在我的流中,我想根据用户的输入获取 MainMenuOption。如果枚举 MainMenuOptions 包含这样的选项,我想返回它,如果没有 - 打印一些消息“没有这样的选项”并再次获取用户的输入。
return Arrays.stream(MainMenuOptions.values())
.filter(x -> x.getCommand().equals(ConsoleInput.getNextLineFromUser()))
.findFirst() // it returns Optional<MainMenuOptions>
.orElse(); //or Else return some value, cannot do something
Run Code Online (Sandbox Code Playgroud)
我如何使用 Java Steams 实现它?
先感谢您。
早上好,我有一个免费套餐 EC2 实例,现在我想停止它并删除它。问题是,当我尝试终止正在运行的 EC2 实例时,AWS 会终止它,但它会创建新实例(与终止相同)。如何完全终止并删除AWS EC2实例?
java ×4
java-stream ×2
amazon-ec2 ×1
aws-devops ×1
java-8 ×1
junit ×1
junit5 ×1
lombok ×1
maven ×1
optional ×1
spring ×1
spring-test ×1