我已将IntelliJ IDEA Ultimate更新为2016.2版本.
我有一个Grails 3项目,现在当我打开IDE时,我在尝试运行项目时遇到以下错误:
Error running Grails: My_Project: Grails application is not found
Run Code Online (Sandbox Code Playgroud)
我仍然可以打开终端并手动运行项目,但似乎IntelliJ IDEA不再能识别我的Grails应用程序.当进入"编辑配置..."时,在"应用程序"中它显示"[无]",我无法选择任何内容.
Grails版本:3.1.9 Groovy版本:2.4.7 JVM版本:1.8.0_66
我无法理解depencendy:tree输出的行为。在更高的模块上运行插件时,我丢失了它所依赖的模块的重要信息。但是当我在较低的模块上运行插件时,我可以看到相关性。这是显示问题的示例(名称已更改):
mvn -pl foo:bar-application dependency:tree -Dincludes=foo:*
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building bar-application 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ bar-application ---
[INFO] foo:bar-application:ear:0.0.1-SNAPSHOT
[INFO] +- foo:bar-business:ejb:0.0.1-SNAPSHOT:compile
[INFO] | +- foo:common-util:jar:0.0.1-SNAPSHOT:compile
...
[INFO] +- foo:bar-web:war:0.0.1-SNAPSHOT:compile
[INFO] \- foo:common-logging:jar:0.0.1-SNAPSHOT:compile
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
该树显示了对bar-web的依赖,但只有从bar-web到其他项目的进一步依赖(common-logging)。
但是bar-web有更多的依赖:
mvn -pl foo:bar-web dependency:tree -Dincludes=foo:*
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building bar-web 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ bar-web ---
[INFO] foo:bar-web:war:0.0.1-SNAPSHOT
[INFO] +- foo:common-logging:jar:0.0.1-SNAPSHOT:compile …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用当前Eclipse(Kepler SR 1)中的(现有)JSF项目.遗憾的是Eclipse忽略了JSF/JSP页面和ManagedBeans之间的链接(通过faces-config.xml).我无法按CTRL-单击#{myBean.someValue}(在标签属性内),当我按下CTRL-Space时,我没有得到任何自动完成辅助#{}.
该项目使用了一些古老的图书馆版本 - 也许这是一个问题?
我尝试了stackoverflow上的所有指南,并创建了一个虚拟项目,如 JSF工具用户指南中所述但没有帮助.任何有用的帮助!
我想知道为什么Java 8不支持在数组上使用流,就像它在集合上一样.你可以写
Collection<String> myCollection = new ArrayList<String>();
Stream<String> stream = myCollection.stream();
Run Code Online (Sandbox Code Playgroud)
但你不能写:
String[] myArray = new String[] {};
Stream<String> stream = myArray.stream();
Run Code Online (Sandbox Code Playgroud)
我知道实用方法Arrays.stream,所以可以使用它:
Stream<String> stream = Arrays.stream(myArray);
Run Code Online (Sandbox Code Playgroud)
但它让我想知道为什么在lambda表达式允许简单编码这么多的上下文中需要这种笨拙的静态实用方法调用.我知道(基于对象/接口)世界Collection和更"本土"世界之间的显着差异array.
谁可以详细说明这个?