VSCode是一个文本编辑器,相对于庞大的IDE,它有更轻量级的体验和优秀的性能表现,对于Java项目的依赖管理,也要求我们有更基础的认识。
如果有很多.class文件,散落在各层目录中,肯定不便于管理。如果能把目录打一个包,变成一个文件,就方便多了。
jar包就是用来干这个事的,它可以把package组织的目录层级,以及各个目录下的所有文件(包括.class文件和其他文件)都打成一个jar文件,这样一来,无论是备份,还是发给客户,就简单多了。
jar包实际上就是一个zip格式的压缩文件,而jar包相当于目录。如果我们要执行一个jar包的class,就可以把jar包放到classpath中
classpath是JVM用到的一个环境变量,它用来指示JVM如何搜索class。
因为Java是编译型语言,源码文件是.java,而编译后的.class文件才是真正可以被JVM执行的字节码。因此,JVM需要知道,如果要加载一个abc.xyz.Hello的类,应该去哪搜索对应的Hello.class文件。
所以,classpath就是一组目录的集合,它设置的搜索路径与操作系统相关。
也就是说,在编译阶段,项目所依赖的jar包需要被明确第年与在classpath里,写在全局变量里也好,定义在编译路径也罢,都要明确指明。
在vscode的setting.json
中指明,即可使VSCode在编辑阶段
{ "java.project.referencedLibraries": [ "lib/*.jar" // 此处可以指向绝对路径 ] }
也可以采用类似eclipse的方法引入,同样在文件夹的相对路径下建/lib
然后把jar包拷过来
然后在.classpath
文件中写入<classpathentry kind="lib" path="lib/*.jar"/>
即可
maven是java的项目管理工具:
a-maven-project ├── pom.xml ├── src │ ├── main │ │ ├── java │ │ └── resources │ └── test │ ├── java │ └── resources └── target
这是maven常见的项目架构,在pom.xml
里修改,maven就会自动下载:
<dependencies> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> </dependencies>
可以通过引入阿里云镜像来加速
<settings> <mirrors> <mirror> <id>aliyun</id> <name>aliyun</name> <mirrorOf>central</mirrorOf> <!-- 国内推荐阿里云的Maven镜像 --> <url>https://maven.aliyun.com/repository/central</url> </mirror> </mirrors> </settings>
reference
https://www.liaoxuefeng.com/wiki/1252599548343744/1309301178105890