小编diw*_*att的帖子

如何从 gradle.build 脚本执行“gradle build”命令

我想从build.gradle文件执行gradle 构建命令。

构建.gradle 文件

apply plugin: 'java'
apply plugin: 'application'
task me{
   //Can we perform gradle build command here.
       }
Run Code Online (Sandbox Code Playgroud)

问题: 我们可以在任务我中执行 gradle build 命令吗,就像我们在命令提示符下执行的那样(附有屏幕截图)..?

注意:我使用的是 Windows 环境,请假设我在 build.gradle 文件中提供所有其他语句。我可以通过执行从命令提示符构建

gradle 构建文件

想从命令提示符执行此任务,它应该负责调用gradle build命令。(附截图)

在此输入图像描述

groovy gradle build.gradle

6
推荐指数
1
解决办法
5447
查看次数

解析年份时出现 java.time.format.DateTimeParseException

使用的 jdk:1.8

不知道是什么问题,配置格式是有效的,输入时间也是有效的,真的很困惑是什么问题。

public class Test {

    public static void main(String[] args) {
        String configuredFormat = "yyyyMMddHHmmssSSS";
        String inputTime = "20200203164553123";

        DateTimeFormatter dt = DateTimeFormatter.ofPattern(configuredFormat);
        DateTimeFormatter strictTimeFormatter = dt.withResolverStyle(ResolverStyle.STRICT);
        try {
            LocalTime.parse(inputTime, strictTimeFormatter);
            System.out.println("success");
        } catch (DateTimeParseException | NullPointerException e) {
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到的例外:

java.time.format.DateTimeParseException: Text '20200203164553123' could not be parsed at index 0
    at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
    at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
    at java.time.LocalTime.parse(LocalTime.java:441)
    at com.Test.main(Test.java:20)
Run Code Online (Sandbox Code Playgroud)

java java-8

4
推荐指数
1
解决办法
276
查看次数

目标类型的表达式必须是一个功能接口 - 为什么需要它?

我已经经历了许多具有相同标题的问题,但我没有得到我正在寻找的答案.

Greeter下面的课程中有一个简单的sysout.据我了解,lambda关心的是签名(即返回类型和参数数量).但如果我删除

int add(int a);

它完美有效,因为编译器将检查Greeting接口中是否有任何可用的方法没有参数且返回类型为void.

但是当我在那里保留那个方法时,我得到了主题行中提到的编译错误,根据我的理解编译器将转到Greeting接口,它将看到有两种方法.但是应该没有歧义,因为我的lambda表达式查找返回类型为void且只有一个参数的方法.基于这个类比,只有一种方法,所以理想情况下它不应该给出错误.

我知道我的比喻在这里是错误的,我知道它必须是一个功能界面,但我也认为我上面提到的过程正是编译器的工作方式.

任何人都可以让我知道我错在哪里以及编译器在我的例子中是如何工作的?

问候界面

package lambadas;

public interface Greeting {
    void perform();
    int add(int a);
}
Run Code Online (Sandbox Code Playgroud)

迎宾班

package lambadas;

public class Greeter {

    public static void main(String[] args) {
        Greeting l = () -> System.out.println("hello");
        l.perform();
    }
}
Run Code Online (Sandbox Code Playgroud)

HelloWorldGreeting

package lambadas;

public class HelloWorldGreeting implements Greeting {

    @Override
    public void perform() {
        System.out.println("hello world.!");
    }
    @Override
    public int add(int a) {
      return 0;
    }

}
Run Code Online (Sandbox Code Playgroud)

java lambda compiler-errors java-8 functional-interface

3
推荐指数
1
解决办法
2007
查看次数

无法使用 keycloak 构建基于 spring 的项目进行身份验证

问题陈述

我无法通过 Spring Boot 项目构建,我想通过它来保护我的应用程序。钥匙斗篷。

预期产出

项目构建成功,当我点击其余 URL 时,它将重定向到密钥隐藏页面进行身份验证。

员工休息控制器

@RestController
public class EmployeeRestController {

  @GetMapping(path = "/username")
  public String getAuthorizedUserName() {
    return "Username Returned";
  }

  @GetMapping(path = "/roles")
  public String getAuthorizedUserRoles() {
    return "Roles Returned";
  }
}
Run Code Online (Sandbox Code Playgroud)

启动

@SpringBootApplication
public class Startup {

  public static void main(String[] args) {
    SpringApplication.run(Startup.class, args);
  }
}
Run Code Online (Sandbox Code Playgroud)

应用属性

server.port=8085

keycloak.realm=wow
keycloak.auth-server-url=http://localhost:8180/auth
keycloak.resource=wow-client
keycloak.public-client=true
keycloak.securityConstraints[0].authRoles[0]=user
keycloak.securityConstraints[0].securityCollections[0].patterns[0]=/*
Run Code Online (Sandbox Code Playgroud)

pom.xml

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.keycloak/keycloak-spring-boot-starter -->
    <dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-spring-boot-starter</artifactId>
        <version>7.0.0</version> …
Run Code Online (Sandbox Code Playgroud)

spring-boot keycloak

3
推荐指数
1
解决办法
1426
查看次数