当我们从Maven artifact启动IntelliJ时遇到的问题
编辑器无法识别智能感知和库。
我正在使用IntelliJ,当我从生成Maven artifact开始项目时,编辑器甚至无法识别智能感知功能,而且即便是Maven任务可以编译,编辑器也无法识别。我犯愁了一段时间,但是根据这个提示解决了问题。
- IntelliJ not able to resolve classes of external Libraries for Maven projects
最後,归根结底,到头来
项目右键点击 > Maven > 重新导入
解决了。(我不知道那个)
顺便提一下,在进行调查之前,虽然与此无关,但我对源文件夹和测试文件夹进行了设置。
可以在选择项目后,通过File > Project Settings > Modules > Source来进行设置。
但我认为可能会通过ReImport来解决。
在IntelliJ上运行Kafka Client时出现slf4j错误。
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
我遇到了个烦人的问题。当我查看上述网址时,得知应该将库添加到pom.xml中。博客和Stack Overflow也都这么说,但我完全解决不了。然而,我不知不觉中解决了。可能是因为我本应该使用添加库的设置,但当时却看了旧的设置,现在已经无法确定原因了。
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.25</version>
</dependency>
在 pom.xml 中添加上述内容,并尝试使用 clear、install 和 compile 等命令进行修复,但没有成功。因此,我试图手动进行确认,并安装了下面的插件。虽然有点折腾,但是很久没有用 IntelliJ 进行执行了,虽然不知道为什么,但是它可以正常工作。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>simplearchitect.App</mainClass>
</configuration>
</plugin>
-
- SLF4J warning or error messages and their meanings
- Solving Failed to load class “org.slf4j.impl.StaticLoggerBinder” Error
也许是因为我不了解IntelliJ的工作方式。这个库不是从IntelliJ中引用,而是一个插件,用于手动运行应用程序,同时参考Maven的依赖项。在我这里使用”mvn exec:java”命令运行正常。
顺便说一句,要了解目标库的版本,请
mvn dependency:tree
或者,您可以在IntelliJ的maven面板上进行确认。
错误:java: javacTask:源发布8需要目标发布1.8。
因为使用artifact生成的模板是1.7版本,所以需要修改pom.xml文件。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
然而,仅有这些是不够的,还需要进行上述的重新导入。因为项目的偏好设置 > 构建、执行、部署 > 编译器 > Java编译器中的目标字节码版本仍然是过时的。
为了不忘记,记个备忘录