Tag: intellij idea

如何在IntelliJ IDEA中禁用pom.xmlvalidation

我正在使用buildnumber-maven-plugin将Mercurial变更集作为项目内部版本号: org.codehaus.mojo buildnumber-maven-plugin 1.2 initialize hgchangeset 然后我使用${changeSet} build.number ${changeSet}属性在同一个pom.xml设置build.number属性: ${changeSet} 但是,IntelliJ IDEA抱怨它Cannot resolve symbol ‘changeSet’ : 此外,模块根目录和受影响的pom.xml文件在“项目”工具窗口中以红色下划线标出。 我在设置中尝试了所有提供的Alt + Enter选项和Maven配置; 没什么帮助。 一切都建立和工作正常,我只是想摆脱IDE中显示的恼人的错误。 有什么建议吗? IDE和环境: IntelliJ IDEA 2016.1.2 Build #IC-145.972, built on May 14, 2016 JRE: 1.8.0_65-b17 amd64 JVM: Java HotSpot(TM) 64-Bit Server VM by Oracle Corporation

是否有任何方法可以让IntelliJ IDEA在Java项目中识别Dagger 2生成的类?

上下文 我已经在Java中启动了一个个人项目, Gradle作为构建系统,我想使用Dagger 2作为DI。 这样做的主要原因是习惯了该库,并能够在更大的项目中轻松使用它。 我试过了什么 我已经设法使用IntelliJ IDEA运行Google示例 问题 IntelliJ IDEA一直告诉我它无法解析生成的类(在本例中为DaggerCoffeeApp_Coffee )。 不知道编写的代码是否正确(特别是在学习使用Dagger 2时),这有点烦人。 所有java类都与Google示例相同。 这是我的build.gradle文件: apply plugin: ‘java’ repositories { mavenCentral() } dependencies { testCompile group: ‘junit’, name: ‘junit’, version: ‘4.12’ compile ‘com.google.dagger:dagger:2.0.1’ compile ‘com.google.dagger:dagger-compiler:2.0.1’ } 题 是否有任何方法可以让IntelliJ IDEA将DaggerCoffeeApp_Coffee识别为生成的类(因此可以通过`ctrl + left click实现它的实现)?

用Maven处理依赖地狱的系统方法

我正在努力解决如何处理jar依赖地狱的问题。 我有一个使用一些aws sdk的Maven-IntelliJ Scala项目。 最近添加kinesis sdk引入了不兼容的Jackson版本。 我的问题是 :我如何系统地解决Jar地狱的问题? 我理解类加载器以及maven如何在重复的Jars之间选择,但我仍然对解决问题的实际步骤感到茫然。 我目前的尝试是基于反复试验,我在jackson的例子中概述了这里: 首先,我在Jackson数据绑定ObjectMapper类上看到了实际的exception,在本例中是NoSuchMethodError。 然后,我查看Jackson文档,了解添加或删除方法的时间。 这通常非常繁琐,因为我手动检查每个版本的api文档(问题1:有更好的方法吗?) 。 然后,我使用mvn dependency:tree来确定我实际使用的Jackson版本(问题2:是否有一种自动方式询问maven正在使用哪个版本的jar,而不是梳理树输出?) 。 最后,我在添加Kinesis SDK之前比较mvn dependency:tree输出,之后,检测mvn dependency:tree输出的差异,并希望看看Jackson版本是否发生了变化。 (问题3:当发生依赖性解析时,maven如何使用着色jar中的库?与其他任何一个相同?) 。 最后,在比较树输出之后,我尝试在POM中明确添加最新的Jackson工作版本,以触发maven依赖关系解析链中的优先级。 如果最新版本不起作用,我会添加下一个最新的lib,依此类推。 整个过程非常繁琐。 除了我提出的具体问题,我也很好奇其他人对这个问题的系统方法。 有没有人有他们使用的资源?

由于新的文件夹结构,在Linux上的Intellij IDEA中正确设置Java 9作为SDK

在你写下我之前,请考虑这些都不是我的问题的答案: 如何在IntelliJ IDEA中设置SDK? 如何更改IntelliJ IDEA默认JDK? 在IntelliJ IDEA 2017.2.6中,尝试将JDK9作为SDK添加但不起作用,因为类路径最终为空。 重现步骤: 打开“添加新SDK对话框” (转到项目设置>项目>项目SDK>新建> JDK) 选择JDK 9 通过,但如果您在SDK下查看> JDK9类路径为空,并且由于找不到基类而导致代码错误。 看图: 在IntelliJ IDEA 2017.3 EAP中,您收到有关未找到JDK类的错误。 见下图: 打开“添加新SDK对话框” (转到项目设置>项目>项目SDK>新建> JDK) 选择JDK 9 应该通过,但会产生错误弹出窗口 使用jdk9的HelloWorld示例的命令行编译按预期工作。 编辑:发现几乎重复: Intellij IDEA 2017.2无法在Linux Mint 18上添加openjk 9 。 主要差异: Linux版本:他们使用Mint 18,我正在使用Debian Stretch。 OpenJDK是写作时回购的最新版本:9~b181-4~bpo9 + 1。 虽然版本相同,但在我的情况下它仍然不起作用。 编辑:另一个可能的重复: intellij想法没有看到Java 9标准类 我不明白这些评论的答案。 尝试为JDK(9和1.9)设置不同的名称,但它仍然没有显示模块而不是类路径,类路径仍为空。

使用Intellij idea IDE读取文件

我是一个很长时间的eclipse用户,我已经开始使用IntelliJ Idea IDE了。 所以从我的理解。 IntelliJ中的项目与Eclipse Workspace相同。 同样,IntelliJ中的模块相当于eclipse中的项目。 我在IntelliJ中创建了一个项目,如果它应该是一个工作区,仍然不确定为什么有一个src文件夹… 之后,我在项目中创建了一个模块。 我在模块的src中创建了一个类。 我在课堂上创建的代码如下: import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class MainClass { public static void main(String[] args) throws FileNotFoundException { System.out.println(“Hello World!”); Scanner input = new Scanner(new File (“test123.txt”)); String answer = input.nextLine(); System.out.println(answer); } } 问题是我尝试读取文件时出错。 我尝试将.txt文件放在我的src文件中,该文件位于模块内部和src文件之外但在模块内部。 但在这两种情况下都找不到该文件。 是的,代码有效,我在Eclipse上尝试过,它运行正常。 文件名也拼写正确。 这是我的项目/工作区的图片,如果它有用: 我很抱歉,如果图片太小,你可以在这里找到更大的版本: http : //oi60.tinypic.com/jg1g60.jpg

为什么Java代码在调试器中会变慢?

通过调试器运行时,一些CPU密集型例程会变得非常慢。 为什么是这样? 目前我只是使用IntelliJ来逐步运行在JBoss中运行的代码。 当我启动JBoss时,我使用以下选项: set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxPermSize=256m -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n %JAVA_OPTS% 有没有办法加快执行速度? 或者加速我不需要介入的某些方法执行? 更新 :似乎我没有跨越/进入CPU密集型例程(即:只运行直到例程后设置的断点),然后执行时间好像不在调试器中。

无法解析IntelliJ中的反向路由方法

我正在关注其中一个游戏框架教程,但每当我尝试使用反向路由时,我都会遇到编译错误。 首先, public static Result javascriptRoutes() { response().setContentType(“text/javascript”); return ok( Routes.javascriptRouter(“jsRoutes”, controllers.routes.javascript.Projects.add(), controllers.routes.javascript.Projects.delete(), controllers.routes.javascript.Projects.rename(), controllers.routes.javascript.Projects.addGroup() ) ); } 在intelliJ中显示的错误是’无法解析方法javascriptRouter(java.lang.String,?,?,?,?)’ 而且在unit testing中: @Test public void notAuthenticated() { Result result = callAction( controllers.routes.ref.Application.index(), fakeRequest() ); assertEquals(303, status(result)); assertEquals(“/login”, header(“Location”, result)); } 它无法解析索引方法。 这是smartJ的问题,还是我在游戏中遗漏了什么? 对于第一部分,这是我的路线文件中的条目: GET /assets/javascripts/routes controllers.Application.javascriptRoutes() 我的控制器Projects已经定义了方法。

在IntelliJ IDEA中创建一个可删除的jar

我正在使用IntelliJ IDEA 12.1.3。 我有一个模块,我正在尝试按照此处给出的步骤将其转换为jar。 我构建了jar文件,并将jar文件移动到D:/。 如果我尝试运行此jar,我会收到以下消息: 无法从jar加载Main-Class清单属性 如果我使用java -classpath jar com.code.TestCase运行它,它可以很好地工作。 为什么会这样? 我使用IntelliJ IDEA创建了jar。 在那个jar中,它包含了我添加的所有外部库的所有代码。 在src清单文件中: Manifest-Version: 1.0 Main-Class: com.code.TestCase 但是jar的清单文件内容是: Manifest-Version: 1.0 Build-Jdk: 1.6.0 Built-By: ubuntu Created-By: Apache Maven Archiver-Version: Plexus Archiver Name: org.apache.log4j Implementation-Vendor: “Apache Software Foundation” Implementation-Title: log4j Implementation-Version: 1.2.15 为什么Main-Class没有添加到jar文件MANIFEST.MF中,但它在src中有Main-Class ?

如何增加intellij 32bit xmx超过1GB?

我在32位Windows XP上使用32位Intellij,内存为4 GB。 我试图将intellij xmx增加到1.5GB: -Xmx1500m 所以我知道JVM在32位系统中支持1.5GB的RAM。 但是这个错误从JVM抛出: The JVM could not be started. The maximum heap size (-Xmx) might be too large … 我不能将intellij Xmx增加到900MB以上 请帮帮我!

使用Maven在IntelliJ中构建时解决PermGen错误?

如果我在使用Maven在IntelliJ中构建我的项目时从应用服务器获得PermGen OutOfMemoryError,那么Maven使用的堆应该增加吗? 我使用Win7,8GB RAM,当我用maven重建项目时,我从appserver获得了PermGen。