惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
博客园_首页
G
Google Developers Blog
有赞技术团队
有赞技术团队
Vercel News
Vercel News
Last Week in AI
Last Week in AI
博客园 - 三生石上(FineUI控件)
Jina AI
Jina AI
IT之家
IT之家
The GitHub Blog
The GitHub Blog
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - Franky
A
About on SuperTechFans
The Register - Security
The Register - Security
腾讯CDC
月光博客
月光博客
GbyAI
GbyAI
博客园 - 叶小钗
Blog — PlanetScale
Blog — PlanetScale
D
Docker
D
DataBreaches.Net
博客园 - 聂微东
C
Check Point Blog
T
The Blog of Author Tim Ferriss
人人都是产品经理
人人都是产品经理
F
Full Disclosure
Martin Fowler
Martin Fowler
Apple Machine Learning Research
Apple Machine Learning Research
雷峰网
雷峰网
美团技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 司徒正美
小众软件
小众软件
量子位
L
LangChain Blog
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
大猫的无限游戏
大猫的无限游戏
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
InfoQ
F
Fortinet All Blogs

青空之蓝

[青空之蓝-2023] - 色彩 | 青空之蓝 [青空之蓝-2022] - 平静 | 青空之蓝 [青空之蓝-2021] - 远望 | 青空之蓝 浅谈垃圾回收 | 青空之蓝 浅谈泛型擦除 | 青空之蓝 浅谈单点登录 | 青空之蓝 使用 Kotlin 编写 Spring 测试 | 青空之蓝 设计模式系列文章 | 青空之蓝 从零实现一个 Java 微框架 - IoC | 青空之蓝 从零实现一个 Java 微框架 - 前言 | 青空之蓝 浅谈 JVM:类加载 | 青空之蓝 浅谈 IO | 青空之蓝 浅谈并发:synchronized & ReentrantLock | 青空之蓝 浅谈并发:CAS & AQS | 青空之蓝 浅谈并发:ThreadLocal | 青空之蓝 浅谈并发:三大特性 | 青空之蓝 浅谈组合注解 & 注解别名 | 青空之蓝 [青空之蓝-2020]-迷茫 | 青空之蓝 Java 系列文章 | 青空之蓝 HTTP 系列文章 | 青空之蓝 浅谈 EatWhatYouKill | 青空之蓝 浅谈可扩展线程池 | 青空之蓝 聊聊写框架 | 青空之蓝 聊聊现状-[2020-09] | 青空之蓝 浅谈并发:锁 | 青空之蓝 浅谈并发:基础 | 青空之蓝 浅谈缓存 | 青空之蓝 无须定义类,Spring 快速注入 Json 参数 | 青空之蓝 浅谈 Proxy 和 Aop | 青空之蓝 从零实现一个 PHP 微框架 - 初始化请求 | 青空之蓝 为 Vue3 添加一个简单的 Store | 青空之蓝 从零实现一个 PHP 微框架 - 服务提供者 | 青空之蓝 WSL2 踩坑记录 | 青空之蓝 浅谈浏览器Event Loop [更新] | 青空之蓝 从零实现一个 PHP 微框架 - Bootstrap 启动加载 | 青空之蓝 从零实现一个 PHP 微框架 - IoC 容器 | 青空之蓝 从零实现一个 PHP 微框架 - PSR & Composer | 青空之蓝 从零实现一个 PHP 微框架 - 前言 | 青空之蓝 MVVM 简单实现 | 青空之蓝 浅谈 DI 和 IoC | 青空之蓝 中间件实现 [PHP] | 青空之蓝 告别 Windows 终端的难看难用,打造好用的 PowerShell | 青空之蓝 VSCode Java输出中文乱码问题解决[更新] | 青空之蓝 浅谈浏览器渲染 | 青空之蓝 Vue-Cli@2 项目迁移日志 | 青空之蓝 Laragon & Scoop 集成踩坑记录 | 青空之蓝 「一行代码」优雅管理 Windows 软件 | 青空之蓝 [青空之蓝-2019]-年度总结 | 青空之蓝 为Vue添加简单的Store | 青空之蓝 为React添加简单的Store | 青空之蓝 为Vuex添加同步Action | 青空之蓝 浅谈B+树 | 青空之蓝 浅谈跳表 | 青空之蓝 浅谈数据库索引 | 青空之蓝 MySQL事务隔离 | 青空之蓝 算法复杂度分析(1) | 青空之蓝 一年来的经验总结 | 青空之蓝 Acrylic - VSCode Extension | 青空之蓝 ace编辑器设置惯性滚动 | 青空之蓝 Java二叉树实现 | 青空之蓝 Java图实现 | 青空之蓝 为apt方式安装的nginx重新编译增加WebDAV | 青空之蓝 XK-Editor - 一个支持富文本和Markdown的编辑器 | 青空之蓝 JS生成列表树 | 青空之蓝 Laravel生成目录树 | 青空之蓝 XK-Note - 集各种神奇功能的云笔记 | 青空之蓝 PHP GD生成验证码 | 青空之蓝 PHP GD图片处理[转换格式-水印-缩略图] | 青空之蓝 Origami - 简洁轻快的WordPress主题 | 青空之蓝 为WordPress启用WorkBox | 青空之蓝 [青空之蓝-2018]-年度总结 | 青空之蓝 Windows IP变化自动发送邮件 | 青空之蓝 C链表实现重制版 | 青空之蓝 C 结构体的定义和使用 | 青空之蓝 图的搜索(遍历) - BFS & DFS | 青空之蓝 Java链表实现 | 青空之蓝 C 快速排序 | 青空之蓝 C 插入排序 | 青空之蓝 C 归并排序 | 青空之蓝 C语言链表实现 | 青空之蓝 VSCode配置Java调试环境[Windows] | 青空之蓝 C 选择排序 | 青空之蓝 C 冒泡排序 | 青空之蓝 VSCode配置PHP调试环境[Windows] | 青空之蓝 VSCode配置C/C++ GDB调试环境[Windows] | 青空之蓝 WordPress友情链接模板 | 青空之蓝 Intel Optane 傲腾内存体验 | 青空之蓝 Mysql双机热备实战 | 青空之蓝 博客一年记录 | 青空之蓝 为WordPress启用Service Worker | 青空之蓝 Bing每日一图API | 青空之蓝 iframe延迟加载 | 青空之蓝 写在2018年高考前 | 青空之蓝 The Fox主题汉化分享 | 青空之蓝 [青空之蓝-2017]-崭新 | 青空之蓝 本博客评论规则 | 青空之蓝 世界,您好! | 青空之蓝
VSCode Java手动导入jar和源码包 | 青空之蓝
Otstar Lin · 2018-12-30 · via 青空之蓝

使用 Maven 等包管理的可以不用向下看了,以下只讲述如何为普通 Java 项目导入单独的 jar 包

之前有一篇文章讲述了如何配置 VSCode 的 Java 调试环境,博主我从配置成功使用到现在一直只使用了 JDK 自带的包,直到昨天由于有一个项目需要进行邮件发送,需要引入 Mail 包,网上的教程大多是在 JDK 中引入 jar 包,但是这时 VSCode 会报一大堆莫名奇妙的错误,然而实际运行 JVM 却没有报错,直到今天学习 JDBC 时 Eclipse 导入 jar 包时才发现可以在每个 Java 项目中独立导入 jar 包,然而 VSCode 又该如何导入 jar 包?

探索

在之前的教程中我的方案时利用一个插件来创建 Java 项目,而创建的 Java 项目就是 Eclipse 项目(VSCode 支持 Eclipse 项目),创建项目后我们看到在项目文件夹中有两个子文件夹,一个用来存源码,一个用来存 class 文件,另外还有两个文件一个是.classpath文件,一个是.project文件,通过从 Eclipse 导出添加过 jar 和源码的项目可以发现,在.classpath的文件中多了一行配置

<classpath>
  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
    <attributes>
      <attribute name="module" value="true"/>
    </attributes>
  </classpathentry>
  <classpathentry kind="src" path="src"/>
  <classpathentry kind="output" path="bin"/>
  <!--多出的一行-->
  <classpathentry kind="lib" path="lib/mysql-connector-java-8.0.13.jar" sourcepath="lib/sources/mysql-connector-java-8.0.13.zip"/>
</classpath>
<classpath>
  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
    <attributes>
      <attribute name="module" value="true"/>
    </attributes>
  </classpathentry>
  <classpathentry kind="src" path="src"/>
  <classpathentry kind="output" path="bin"/>
  <!--多出的一行-->
  <classpathentry kind="lib" path="lib/mysql-connector-java-8.0.13.jar" sourcepath="lib/sources/mysql-connector-java-8.0.13.zip"/>
</classpath>

从中可以看到,在 VSCode 中引入 jar 包只需将 jar 的路径填入到 path 中,源码路径填入到 sourcepath 中即可

实现

第一步:在项目文件夹中添加一个 lib 目录,一般引入的 jar 包都存储在 lib 目录,方便后续操作

第二步:将要引入的 jar 包复制到 lib 目录下

第三步:修改.classpath文件,增加一行 classpathentry,并填入正确的路径,可以填相对路径,也可以填绝对路径

<classpathentry kind="lib" path="lib/mysql-connector-java-8.0.13.jar" sourcepath="lib/sources/mysql-connector-java-8.0.13.zip"/>
<classpathentry kind="lib" path="lib/mysql-connector-java-8.0.13.jar" sourcepath="lib/sources/mysql-connector-java-8.0.13.zip"/>

若不导入源码只需将 sourcepath 属性删除即可

若要导入源码请继续往下

第四步:在 lib 目录中新建一个 sources 文件夹,然后将该 jar 包的源码复制到该文件夹即可

第五步:在该 jar 包的 classpathentry 标签中增加 sourcepath 属性,并填入正确的路径

第六步:Ctrl+S 保存,然后回到 java 文件,此时一堆莫名奇妙的报错应该都已经消失了,若还存在,请重新启动 VSCode 或者重置 VSCode 中的 Java 环境

结语

这时有些人可能会吐槽这么麻烦为什么不换其他的 IDE,因为已经掉入了 VSCode 的坑里爬不出来了,各种神奇的插件,非常快的启动速度,以及多种编程语言快速切换,博主我有多个工作区,比如 C 和 Java 的,切换时只需关闭目前的工作区然后切换另一个工作区,VSCode 就会将该语言的编译环境自动加载,同时 VSCode 的代码补全也是极为方便的,基本只需要打两个字母然后按下 Tab 键,VSCode 就能完成正确的补全,这时就要吐槽一下 Eclipse 反人类的补全快捷键,大多编辑器和 IDE 的补全快捷键都是 Tab 键,然而 Eclipse 却是不同寻常的 Enter 键,用起来实在难受,然而学校机房就是使用 Eclipse(捂脸

VSCode Java手动导入jar和源码包

https://blog.ixk.me/post/vscode-java-manually-imports-jar-and-source-package
  • 许可协议

    BY-NC-SA

  • 本文作者

    Otstar Lin

  • 发布于

    2018/12/30

转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!

[青空之蓝-2018]-年度总结Windows IP变化自动发送邮件

HomeGitHubStatus

Copyright © 2017-2026 Otstar Lin

Theme Coline by Otstar LinPowered by Next.js