小编flu*_*man的帖子

此表达式的目标类型必须是MethodReferences中的功能接口

为什么以下代码无法编译.

Consumer con = (s) -> System.out::println;

它说

此表达式的目标类型必须是功能接口

即使消费者是功能界面.以下工作正常.

Consumer con2 = (s) -> {System.out.println(s);};

java-8 method-reference

13
推荐指数
2
解决办法
3万
查看次数

查找Web应用程序的类路径

当我在Eclipse中使用我的Web应用程序时,我可以搜索所有类和JAR文件

String cp = System.getProperty("java.class.path");
Run Code Online (Sandbox Code Playgroud)

但是当我在Tomcat或Jetty上部署时,我什么也得不到.

我想找到*.properties位于webapp中的所有文件(在JAR中,如果是爆炸的,在文件夹中).

String cp = System.getProperty("java.class.path");
String pathSep = File.pathSeparator;
String[] jarOrDirectories = cp.split(pathSep);
for (String fileName : jarOrDirectories) {
        File file = new File(fileName);
        if (file.isFile()) {
                logger.debug("From jar "+file.getName());
                loadFromJar(file.getPath());
        } else {
                logger.debug("From folder "+file.getName());
                listFolder(file);
        }
}
Run Code Online (Sandbox Code Playgroud)

这样,在Eclipse中运行Web应用程序会为我提供所有JAR文件和所有类文件夹,但在Tomcat中部署应用程序时则不行.

如果我能够获得通路就足够了WEB_INF.从那里,这很容易.

java web-applications classpath

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

Google plus登录getIdToken返回null

我正在尝试将google plus登录集成到我的应用中.但是当我调用getServerAuthCode()和getIdToken()时,它总是返回null.我无法弄清楚究竟是什么问题.

     private void handleSignInResult (GoogleSignInResult result)
     {
        Log.d(TAG, "handleSignInResult:" + result.isSuccess());
        if (result.isSuccess()) {

            GoogleSignInAccount acct = result.getSignInAccount();
            Toast.makeText(getApplicationContext(), acct.getDisplayName() + "-" + acct.getEmail() + "-" + acct.getServerAuthCode(), Toast.LENGTH_SHORT).show();
            Log.d(TAG, "Server Token google" + acct.getServerAuthCode() + "-ID token" + acct.getIdToken());
            create_account_method(acct.getEmail(), acct.getDisplayName(), acct.getServerAuthCode());

        } else {

        }
    }
Run Code Online (Sandbox Code Playgroud)

android login

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