vscode+java+windows:我想在没有Maven的情况下导入和使用org.apache.logging.log4j.Logger
Posted
技术标签:
【中文标题】vscode+java+windows:我想在没有Maven的情况下导入和使用org.apache.logging.log4j.Logger【英文标题】:vscode+java+windows: I want to import and use org.apache.logging.log4j.Logger without Maven 【发布时间】:2019-09-26 09:18:06 【问题描述】:仅使用添加了 java 扩展的 vscode,以及没有任何其他库或扩展的本机 Java 8,我想使用 log4j。
我已经下载了各种 .jar 文件,它们位于我的类路径中(尽管在 vscode 中很难验证类路径,但如果有一个 vscode IDE 方法来验证代码所看到的实际路径,那就太好了)。这些文件确实显示在左侧 EXPLORER 的“JAVA DEPENDENCIES”手风琴菜单下的 vscode 中。
三个主要的 .jar 文件是:
log4j-api-2.11.0.jar log4j-core-2.11.0.jar log4j-1.2-api-2.11.0.jar我有一个 launch.json 文件,其中定义了 '"windows": "classPaths":...' 3 个主要的 .jar 文件。
这些文件实际上在我的 Windows CLASSPATH 变量中,并在我从这个 .java 代码中执行这行代码时显示:
System.out.println(System.getProperty("java.class.path"));
这显示了三个 jar 文件所在位置的文字路径,以及“.”的条目,以及它们所在的文件夹(可能有点矫枉过正)。
我从 vscode 编辑器收到的错误仍然是
The import org.apache cannot be resolved
在我的代码的 .java 文件中,我有导入,并且在 org.apache 下有一条红色波浪线
import org.apache.logging.log4j.Logger
任何不涉及添加 Maven 的快速修复建议?
【问题讨论】:
【参考方案1】:1.确保您已创建一个名为 lib
的文件夹并将您的 .jar
文件添加到其中
2.在.classpath
中配置路径如:
<classpathentry kind="lib" path="lib/log4j-1.2-api-2.11.2.jar"/>
<classpathentry kind="lib" path="lib/log4j-api-2.11.2.jar"/>
<classpathentry kind="lib" path="lib/log4j-core-2.11.2.jar"/>
3.如果还是报错,清理工作区目录:
VS Code 用户工作区存储区位于以下位置:
Windows : %APPDATA%\Code[ - Variant]\User\workspaceStorage\ MacOS:$HOME/Library/Application Support/Code[ - 变体]/User/workspaceStorage/ Linux : $HOME/.config/Code[ - Variant]/User/workspaceStorage/可以参考add jar
【讨论】:
谢谢!我还发现要清理工作区,您可以按 F1 并从菜单中选择“Java:Clean the ...”。此外,一篇文章建议在 'kind="lib" 之前将 'exported="true"' 添加到三个 classpathentry 元素中。一旦我解决了这个问题,还有其他问题。大多数情况下,我通过编辑launch.json osx 和windows 条目来修复这些问题,这样一旦我编译了我的.class 文件,运行时就可以找到所需的log4j jar 文件。再次感谢!以上是关于vscode+java+windows:我想在没有Maven的情况下导入和使用org.apache.logging.log4j.Logger的主要内容,如果未能解决你的问题,请参考以下文章
JAVA 基础开发环境 vscode 搭建 Windows下VSCode编译运行简单java