Tag: intellij idea

IntelliJ无法识别PATH变量

我最近尝试导入现有的Gradle项目,使用启动窗口中的“打开项目”选项和现有的build.gradle文件来自动设置项目。 在我这样做之后,IntelliJ中出现了一条错误消息,说: 无法使用Gradle安装’/Users/myUser/Tools/gradle-1.3’获取类型’BasicIdeaProject’的模型。 构建文件’/Users/myUser/IdeaProjects/myProject/database/build.gradle’行:20评估项目’:database’时出现问题。 评估项目’:database’时出现问题。 在PATH中找不到’play’命令。 确保已安装Play Framework 2.0并在路径中 看起来,IntelliJ抱怨我没有将play框架添加到我的PATH变量中。 虽然shell的输出告诉某事。 其他: echo $PATH; /usr/local/bin:/Users/myUser/Library/Ruby/Gems/1.8/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/Users/myUser/.yadr/bin:/Users/myUser/.yadr/bin/yadr:/Users/myUser/Tools/gradle/bin:/usr/local/Cellar/mongodb/2.2.2-x86_64//bin:/Users/myUser/Tools/groovy/bin:/Users/myUser/Tools/play-2.0 我还写了一个简单的类来显示IntelliJ使用的PATH变量: public class Playground { public static void main(String[] args) { System.out.println( System.getenv( “PATH” )); } } 当我运行这个类时,它给了我以下输出: /usr/bin:/bin:/usr/sbin:/sbin 看起来,IntelliJ完全忽略了shell中设置的PATH变量。 所以我想知道如何操作/配置IntelliJ来识别这个PATH变量? 我使用的shell是zsh。 提前致谢

IntelliJ IDEA – Java代码中SQL语法的突出显示

我使用IntelliJ 13作为一个项目的IDE,通过Spring的JDBC模板与DB进行通信。 当我在Java中拥有代码片段时,如下所示: getJdbcTemplate().queryForObject(“SELECT CONVERT(VARCHAR(255), NEWID())”, String.class); 其中getJdbcTemplate()返回初始化的JdbcTemplate对象,IDE对SQL语句具有正确的语法高亮(您可以在下面的代码段中看到它): .code {font-family: Monospace} .db-stmt {background: #EDFCED} .db-keyword {color: #000080; font-weight: bold;} .db-column {color: #7D0C8D; font-weight: bold;} .db-number {color: #0000FF;} .java-class {color: #39008E; font-weight: bold;} getJdbcTemplate().queryForObject(“SELECT CONVERT(VARCHAR(255), NEWID())”, String.class); 但是,当我使用另一种方法时,由我创建: protected String queryForString(String sql, Object… args) { try { return getJdbcTemplate().queryForObject(sql, String.class, args); } catch (RuntimeException e) { […]

在IntelliJ和Eclipse开发人员都在工作的项目中使用@NotNull

IntelliJ IDEA的同事(在另一个项目上工作)向我展示了惊人的@NotNull注释。 我在这里阅读的消息是关于如何开始添加@NotNull到处节省了大量时间和头痛(当IntelliL 10检测到null会造成严重破坏时,它甚至可以自动将@NotNull添加到旧代码中)。 因为我读了我的第一个“可能的@NotNull违规”消息(实时,在IDE中,甚至在一个尚未编译的部分.java文件上),我的下巴掉了下来,我迷上了。 所以我想知道:如果我们想在开发人员同时使用Eclipse和IntelliJ的项目中开始使用@NotNull,那么还有什么需要知道的吗? 我知道IntelliJ附带了annotations.jar 。 这与Eclipse兼容吗?

变量的同步和本地副本

我正在查看一些具有以下习语的遗留代码: Map myMap = someGlobalInstance.getMap(); synchronized (myMap) { item = myMap.get(myKey); } 我从Intelli-J的代码检查得到的警告是: Synchronization on local variable ‘myMap’ 这是适当的同步吗?为什么? Map myMap = someGlobalInstance.getMap(); synchronized (someGlobalInstance.getMap()) { item = myMap.get(myKey); }

Javadoc使用相对路径链接到src / main / resource或src / test / resource文件

如果有一种方法可以将javadoc中的链接放入驻留在src / main / resources或src / test / resources中的标准资源文件,以便其他编码器可以快速导航到资源文件(在此case一个JSON文件)。 这些文件用于unit testing,需要在架构更改时经常进行修改。 这里的答案链接到Javadoc中的文本文件(资源)没有帮助,因为绝对路径太脆弱了。 有没有办法和@see一样做资源? 如果javadoc本身不足,那么IntelliJ特有的东西会很棒。

在同一模块中使用时,IntelliJ无法找到生成的源

我正在使用谷歌AutoFactory的注释处理器。 我使用@AutoFactory注释SomeClass ,并在同一模块中的其他地方引用了new SomeClassFactory().create() 。 Maven配置: 我在Maven中添加了必要的依赖: com.google.auto.factory auto-factory 1.0-beta2 true 当运行$ mvn clean compile我看到创建了target/generated-sources/annotions/somepackage/SomeClassFactory ,并且模块编译时没有错误。 IntelliJ配置: Reimport all maven modules Preferences – > Annotation Processors – > Enable annotation processing Rebuild Project 如果我的理解是正确的,那么在我的IDEA版本( v14.1.4 )中这应该足够了。 我还执行了以下步骤: 已validationgenerated-sources文件夹是否作为Project Structure的源添加 已validationMaven首选项Generated sources folders设置为Detect automatically validation源是在重建时实际生成的(首先删除target文件夹以确保它是由IntelliJ生成的) 尝试按照@tilpner的建议禁用项​​目结构中的Exclude output paths 使缓存无效并重新启动 删除.idea文件夹和.iml文件 在Preferences – > Maven – > […]

更改intellij窗格的背景颜色

我在intellij中更改了颜色方案,以便Java编辑器窗格的背景很暗,文本很浅。 我不确定这是否直接相关,但是,在“运行”窗口等其他窗口中,背景保持白色,但任何系统消息都显示为白色文本。 这显然是一个问题,因为我无法在白色背景上阅读白色文本,除非我手动突出显示文本以使背景具有不同的颜色。 有没有办法更改IntelliJ中编辑器窗格以外的其他窗格的背景颜色?

Intellij Maven:创建包含所有库依赖项的jar

使用IntelliJ Idea,我想实现以下内容: 我想将应用程序导出到jar,其中包含所有需要的库。 例如,我需要用于S3访问的AWS Java SDK库,但是如果我将jar上传到服务器并运行jar我得到NoClassDefFoundError,请参见下文: Exception in thread “main” java.lang.NoClassDefFoundError: com/amazonaws/auth/AWSCredentials at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2625) at java.lang.Class.getMethod0(Class.java:2866) at java.lang.Class.getMethod(Class.java:1676) at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486) Caused by: java.lang.ClassNotFoundException: com.amazonaws.auth.AWSCredentials at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) … 6 more 比较:我在Eclipse中创建了相同的项目并且没有错误! jar文件大小非常不同(Eclipse:~35 MB对比IntelliJ Idea:~5,5 MB)! 我通过Maven包含了这些库,并将它们也下载到我项目的“lib”文件夹中: 作为运行配置中的参数我设置“包”,请参见下面的截图: 解: […]

IntelliJ在克隆后无法识别java项目

我从bitbucket克隆了我的repo,我试图在IntelliJ IDE中打开它,但我无法设置Debug Configuration,无法在Application菜单中设置Main类。 我也不能在项目中添加新的Java类。 我认为Intellij无法识别这个项目是Java。 有可能做对吗?

使用IntelliJ或Play时,如何使“Java Hot Spot MaxPermSize”警告消失?

当我启动IntelliJ或在Play项目中运行play时,我收到此警告。 Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0 我怎么让它消失? Maven的相同问题的答案是从MAVEN_OPTS环境变量中删除MaxPermSize选项。 我的机器上没有设置MAVEN_OPTS变量。 我想有一些类似的sbt设置,但我不知道它在哪里。 我看到了有关Java变化的许多解释 ,但是在使用Scala时,我没有看到任何有关如何使此警告消失的提示。 OS X 10.9.4。 Scala 2.11.1。 sbt 0.13.5 编辑 基本上我要问的是“我的系统MaxPermSize上的所有位置都可以设置在哪里?” 我的机器上sbt-launch-lib.bash设置sbt-launch-lib.bash 。 我确实找到了IntelliJ的MaxPermSize Scala-> JVM Parameters选项。 删除它会使IntelliJ中的警告消失。 编辑 改变了问题。 我最初说这发生在SBT。 (下面的一些评论解决了这个问题。)这是我的错误。 只有当我从命令行运行play时,才会运行SBT。 是Play的已知错误指定MaxPermSize参数吗? 有没有办法让它停止? 编辑 我认为这不是jdk 8中PermGen消除的重复。 该线程描述了警告出现的原因,但未解释如何更改IntelliJ或Play配置以使其不再显示。