标签: intellij-idea2017

Intellij 在编译期间看不到一些非公共 JDK 9 类

我有一个以前使用 JDK 8.0 的项目,现在迁移到 JDK 9。该项目尚未模块化。

关闭对私有 JDK API 的访问的所有问题都已修复,我可以使用 maven、1.8 语言级别和 JDK 9 从命令行构建项目。

Intellij Idea 根本没有突出任何问题,JDK 9 设置为项目 SDK,但是如果我尝试在 Idea 内部构建项目 - 我会在 idea 控制台中遇到编译问题:

Information:javac 9 was used to compile java sources
Error:(5, 16) java: package sun.misc does not exist
Error:(22, 19) java: cannot find symbol
  symbol:   class Unsafe
  location: class <...>.UnsafeAccessor
Run Code Online (Sandbox Code Playgroud)

因此,该项目现在使用 JDK 9 在 CMD 中构建良好,该错误没有太大意义,因为 sun.misc.Unsafe 在 JDK 9 中存在且公开,Idea 本身没有突出显示任何内容,因此它理解一切都存在.

什么可能导致 Idea 内的项目构建问题?

关于IDEA构建的信息:

IntelliJ IDEA 2017.2.5

Build #IU-172.4343.14,建于 2017 年 9 月 …

java intellij-idea maven java-9 intellij-idea2017

14
推荐指数
2
解决办法
4785
查看次数

如何在IntelliJ IDEA调试器中按名称对属性进行排序?

有没有办法在使用Java调试器时按名称对对象的属性进行排序?

例如,我看到了这个:

intellij调试视图

而且我想看到这个:

调试有序

java debugging intellij-idea intellij-idea2017

12
推荐指数
2
解决办法
1369
查看次数

警告:未知的枚举常量Status.STABLE

在寻求解决这个,不知怎么,我尝试创建包细分maintest类,然后,以与添加的模块使用编译器来执行单元测试.不是很好的方式,但现在只是一个假设的结构.

在此输入图像描述

随着我的进一步发展,几个未解决的问题是: -

  • 将基于JDK9的模块添加到项目中.
  • 使用IntelliJ的快捷方式将JUnit5添加到类路径中.(lib文件夹)[ junit-jupiter-api-5.0.0.jar]

问:请注意,它带来opentest4j-1.0.0.jar了lib /文件夹.为什么会这样,用于其他jar的是什么?

warning: unknown enum constant Status.STABLE   
  reason: class file for org.apiguardian.api.API$Status not found 
warning: unknown enum constant Status.STABLE 
2 warnings
Run Code Online (Sandbox Code Playgroud)

注意: -

我发现使用junit-jupiter可疑因为如果我使用JUnit注释掉代码并执行相同的命令,事情似乎工作得很好.

如果可能重要的话,使用的库/工具: -

  • junit-jupiter-api-5.0.0
  • Java版本 "9" (build 9+181)
  • 的IntelliJ 2017.2.5

问:这样的警告可能是什么原因?而且,我无法API.Status在我的项目中和项目类之外找到它.

java unit-testing java-9 junit5 intellij-idea2017

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

在inelliJ中默认从sun而不是java包导入

我当前的系统(MacOS 10.10.5)配置是:

IntelliJ IDEA 2017.2.2
#Built on 9August,2017

java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Run Code Online (Sandbox Code Playgroud)

每次我开始处理一个项目(目前是1.8.0_65)并使用编写一个类

List<String> example = new ArrayList<>(); 
Run Code Online (Sandbox Code Playgroud)

=>如果我点击List=>导入类的自动建议提示

引入的默认导入语句是

import com.sun.tools.javac.util.List;
Run Code Online (Sandbox Code Playgroud)

虽然我希望它是:

import java.util.List;
Run Code Online (Sandbox Code Playgroud)

有没有我可以解决的配置,或者这是我正在使用的组合中的一些错误?想知道哪些设置已优先考虑到sun包在java包?

注意:已经通过任何方式(或快捷方式)的答案来自动导入IntelliJ IDEA中的类,就像在Eclipse中一样?但是我输入的选项List不包括java.util我的情况.

编辑:导入为java.util.List不丢失,我可以手动导入相同.

java intellij-idea intellij-idea2017

6
推荐指数
1
解决办法
1540
查看次数

Intellij IDEA 2017.2无法在Linux Mint 18上添加openjk 9

我在Linux Mint 18.2上使用Intellij IDEA 2017.2.5并尝试添加新的openjdk-9 SDK,但IDEA不接受openjdk 9作为有效的JDK:

Intellij声称SDK主页

我已经使用ppa标准存储库中的apt-get安装了所有SDK.
这是我的update-alternatives --config java/javac输出:

update-alternatives --config java/javac

虽然声明的IntelliJ会支持JDK 9 在这里,但现在看来,这是尚未与至少opensdk-9完全兼容.
也许重构SDK目录并删除' jre '文件夹会误导IDEA找到SDK 9主文件夹.

知道为什么Intellij IDEA声称' 所选目录不是JDK的有效主页 '吗?

linux openjdk intellij-idea java-9 intellij-idea2017

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

有没有办法将 IDEA“格式错误的格式字符串”意图应用于自定义方法?

编写表单代码时:

String.format("blah %s %s", value1);
Run Code Online (Sandbox Code Playgroud)

IntelliJ 将警告格式模式的数量和实际参数之间存在不匹配:too few arguments for format string (found:1, expected: 2).

有没有办法将此逻辑应用于自定义方法?例如:

/** @see String#format(String, Object...) */
public String myMethod(String msg, Object... args){
  return String.format("blah " + msg, args);
}
...

myMethod("%s %s", value1);
Run Code Online (Sandbox Code Playgroud)

关键是我想让 IDEA 告诉我我搞砸了。

如示例所示,我已经记录了这些委托给String.format().

理想情况下,我宁愿避免复制该文档 - 尽管我愿意将其转换为自定义格式,或者可能是注释(尽管最好不是 IDEA 注释)。

intellij-idea intellij-idea2017

3
推荐指数
1
解决办法
883
查看次数

Intellij DB控制台文件缓存?

长话短说,几天前我写了这个非常好的SQL查询。然后,我关闭了带有该查询的“数据库控制台”选项卡,无法在任何地方找到它。

文件丢失了吗,还是某个IntelliJ缓存的/系统文件夹?

我问的原因是因为当您打开一个新的数据库控制台时,该选项卡上有一个不同的标记,这使我相信这些文件在某些​​地方存在持久性?

在此处输入图片说明

还有其他方法可以恢复此查询吗?

intellij-idea intellij-idea2017

3
推荐指数
1
解决办法
44
查看次数

如何解决 Element compilerArgs is not allowed here Maven 编译器插件中的错误?

我正在使用 Maven 编译器插件 3.0,但出现错误“此处不允许使用 Element compilerArgs”。这似乎适用于命令行,但我在 IDE 中收到此错误。我使用 IDEA 2017.2 社区版。某处可能缺少一些架构,但我不确定。有没有人有解决此类问题的好方法,即不向 JetBrains 发送错误报告并等待修复?

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.0</version>
    <configuration>
        <source>1.7</source>
        <target>1.7</target>
        <fork>true</fork>
        <compilerArgs>
            <arg>-DspecificArg</arg>
        </compilerArgs>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

java maven-compiler-plugin intellij-idea2017

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