小编Phi*_*ohn的帖子

我在使用keytool获取SHA1证书时遇到问题

我正在尝试使用以下命令在macos sierra上找到我的签名密钥库的SHA1哈希:

keytool -exportcert -alias androiddebugkey -keystore $HOME/.android/debug.keystore -list -v -storepass android
Run Code Online (Sandbox Code Playgroud)

结果如下所示:

别名:androiddebugkey
创建日期:2017年10月25日
输入类型:PrivateKeyEntry
证书链长度:1
证书[1]:
keytool错误:java.util.IllegalFormatConversionException:d!= java.lang.String java.util. IllegalFormatConversionException:d!= Java.lang.String at java.base/java.util.Formatter $ FormatSpecifier.failConversion(Formatter.java:4331)at java.base/java.util.Formatter $ FormatSpecifier.printInteger(Formatter.java: 2846)at java.base/java.util.Formatter $ FormatSpecifier.print(Formatter.java:2800)at java.base/java.util.Formatter.format(Formatter.java:2581)at java.base/java.util .Formatter.format(Formatter.java:2517)位于java.base/java.lang.String.format(String.java:2747)java.base/sun.security.tools.keytool.Main.withWeak(Main.java) :3151)在java.base/sun.security.tools.keytool.Main.printX509Cert(Main.java:3182)的java.base/sun.security.tools.keytool.Main.doPrintEntry(Main.java:1995)at at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:1212)在java.base/sun.security.tools.keytool.Main.run(Main.java:397)java.base/sun.security.tools.keytool.Main.main(Main.java:390)

据我所知,该命令正在运行,它不是文件的问题,也不是密码,在我看来java中的一个内部错误,它是否缺少一些java包?我正在使用Java SDK 9.0.1

java android certificate keystore keytool

19
推荐指数
1
解决办法
9796
查看次数

tslint 不排除 angular 项目中的 node_modules

我尝试执行以下操作以node_modulestslint. 但他们都没有解决这个问题。

如果是因为我调用node_modules文件夹的方式,我很困惑。

第一次尝试- 在tsconfig.json和中添加了以下内容tsconfig-aot.json

"exclude": [
    "../node_modules/**/*",
    "./node_modules/**/*",
    "node_modules",
    "node_modules/**/*.ts",
    "**/node_modules/**/*",
    "**/node_modules/**"
]
Run Code Online (Sandbox Code Playgroud)

第二次尝试- 添加exclude到每个项目部分.angular-cli.json

"lint": [{
        "project": "../../../tsconfig.json",
        "exclude": "./node_modules/*" // also tried **/node_modules/**/*
    },
    {
        "project": "../../../tsconfig-aot.json",
        "exclude": "./node_modules/*"
    }
],
Run Code Online (Sandbox Code Playgroud)

第三次尝试-tslint-cli使用--exclude选项执行

tslint --exclude node_modules --project tsconfig-aot.json
tslint --exclude node_modules --project tsconfig.json
Run Code Online (Sandbox Code Playgroud)

还是没有变化。每当我这样做时yarn webpack:build,我仍然会从 node_modules 收到这些警告。

同样在tsconfig.jsonand 中tsconfig-aot.json,它已经有"skipLibCheck": true

更新

我安装了 …

typescript tslint angular

12
推荐指数
1
解决办法
1万
查看次数

接受一个类对象或另一个类对象的方法

我有两种方法,如下所示

private List<Long> getIds(String name, List<Cat> cats) {
    List<Long> catIds = new ArrayList<>();
    for (Cat cat : cats) {
        if (cat.getName().equals(name)) catIds.add(cat.getId());
    }
    return catIds;
}

private List<Long> getIds(String name, List<Dog> dogs) {
    List<Long> dogIds = new ArrayList<>();
    for (Dog dog : dogs) {
        if (dog.getName().equals(name)) dogIds.add(dog.getId());
    }
    return dogIds;
}
Run Code Online (Sandbox Code Playgroud)

我的猫狗课程如下

public class Cat {
    String name;
    Long id;
    // additional variables
    // getters and setters
}

public class Dog {
    String name;
    Long id;
    // additional variables
    // …
Run Code Online (Sandbox Code Playgroud)

java

8
推荐指数
1
解决办法
1281
查看次数

使用ngFor循环并跳过第n个元素

我想知道在angular2中是否有一种方法可以使用*ngFor并跳过第一个或第n个元素来循环遍历数组或列表

ngfor angular

8
推荐指数
2
解决办法
9829
查看次数

在shouldInterceptRequest Android webview中为所有请求添加自定义标头

我想在webview中为请求添加自定义标头.我认为应该可以这样做shouldInterceptRequest..因为我的最小API级别小于21 shouldInterceptRequest(最终的WebView视图,最终的String url)也被调用,因此我需要在这里添加标题,但我不知道如何.

@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            request.getRequestHeaders().put("ClientId", "ANDROID");
            request.getRequestHeaders().put("Tokon", token);
        }

        return super.shouldInterceptRequest(view, request);
    }

    @Override
    public WebResourceResponse shouldInterceptRequest(final WebView view, final String url) {
        // I need to updated the header here

        return super.shouldInterceptRequest(view, url);
    }
Run Code Online (Sandbox Code Playgroud)

有一个建议使用view.loadUrl(url,headers),但这也不起作用.

android webview

7
推荐指数
1
解决办法
4770
查看次数

服务器重启后 Liferay 调度器不工作

我正在使用下面的代码安排工作。

@Controller
@RequestMapping("VIEW")
public class MyController {

    @RenderMapping
    public String defaultView() {
        try {
            String cronText = "0 30 12 1/1 * ? *";
            String description = "Message Scheduler Description";
            String destinationName = DestinationNames.SCHEDULER_DISPATCH;
            int exceptionsMaxSize = 0;
            String portletId = "portletId";

            Message message = new Message();
            message.put(SchedulerEngine.MESSAGE_LISTENER_CLASS_NAME,SchedulerListener.class.getName());
            message.put(SchedulerEngine.PORTLET_ID, portletId);

            Trigger trigger = new CronTrigger(SchedulerListener.class.getName(), SchedulerListener.class.getName(), cronText);
            SchedulerEngineHelperUtil.schedule(trigger,StorageType.PERSISTED, description, destinationName, message, exceptionsMaxSize);
        }catch (SchedulerException e) {
            e.printStackTrace();
        }
        return "view";
    }
}
Run Code Online (Sandbox Code Playgroud)

上述代码的问题在于调度程序仅在服务器会话之前有效。执行此方法后,即使在服务器重新启动后,我也想在提到的时间触发调度程序作业。有没有办法在liferay中实现这一点?

java scheduling liferay

5
推荐指数
1
解决办法
2294
查看次数

Java Collections.unmodificCollection 是否保留底层集合的顺序?

我假设集合中不可修改的方法返回底层集合的视图或外观。这似乎是不言而喻的,它将unmodifiableList使用底层列表的顺序,并且unmodfiableSet可以自由地执行任何操作,因为没有顺序。

我使用的LinkedHashSet是一个集合,但确实保留了顺序,并且试图公开保留底层顺序的集合的不可修改的视图。使用unmodifiableSet似乎不合适,但我不能使用unmodifiableList。我无法找到unmodifiableCollection将使用底层集合中的任何排序的保证,尽管我怀疑它会。

有人可以向我指出定义此行为或与之相矛盾的规范吗?

java collections

5
推荐指数
1
解决办法
1110
查看次数

使用Angular 2在n秒后自动重定向

我想显示一个'n'秒的页面然后重定向到另一个路由.

在Angular 1.x中的'n'秒之后,遇到了几个关于自动重定向的stackoverflow帖子(url1url2).但我很困惑如何在Angular2中实现相同的功能?

angular2-routing angular

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

如何使用jhipster-generator生成反应项目?

这个问题是关于使用的jhipster-generator.

我注意到反应支持(即generator-jhipster-react)已经合并到了generator-jhipster,但我没有找到关于如何生成反应项目的指南generator-jhipster.

任何人都可以确定如何创建反应项目generator-jhipster

jhipster

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

使用 Spring WebClient 返回完整的响应

我有以下代码

public ClientResponse doGet(HttpServletRequest request, URI uri) {
    return webClient.get()
            .uri(uri.toASCIIString())
            .headers(headers -> headers.putAll(processRequest(request))
            .exchange()
            .block();
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试通过 RestController 返回此 ClientResponse 时,如下所示,

@GetMapping
@ResponseBody
public ClientResponse doGet(HttpServletRequest request) {
    ClientResponse node = service.doGet(request);
    return node;
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

org.springframework.http.converter.HttpMessageNotWritableException:找不到类型返回值的转换器:类org.springframework.web.reactive.function.client.DefaultClientResponse

基本上,我想要的最终目标是将实际响应返回给调用者 - 包括标头、正文、cookie等。

我正在考虑像下面这样使用 ResponseEntity 。

public ResponseEntity<JsonNode> doGet2(HttpServletRequest request, URI uri) {

    Mono<ClientResponse> clientResponse = webClient.get()
            .uri(uri.toASCIIString())
            .headers(headers -> headers.putAll(processRequest(request))
            .exchange();

    HttpHeaders headers = clientResponse.map(resp -> resp.headers().asHttpHeaders()).block();
    JsonNode body = clientResponse.flatMap(resp -> resp.bodyToMono(JsonNode.class)).block();

    ResponseEntity<JsonNode> jsonNode = ResponseEntity.ok().headers(headers).body(body);
    return jsonNode; …
Run Code Online (Sandbox Code Playgroud)

spring-boot spring-webclient spring5

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