Java for VSCode 依赖管理

VSCode是一个文本编辑器,相对于庞大的IDE,它有更轻量级的体验和优秀的性能表现,对于Java项目的依赖管理,也要求我们有更基础的认识。

jar包与classpath

如果有很多.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里,写在全局变量里也好,定义在编译路径也罢,都要明确指明。

json引入

在vscode的setting.json中指明,即可使VSCode在编辑阶段

{
    "java.project.referencedLibraries": [
        "lib/*.jar" // 此处可以指向绝对路径
    ]
}
  • 若指向相对路径,则是指打开的文件夹下的相对位置
  • 若指向绝对路径,则是全局导入(实测速度更快)

.classpath

也可以采用类似eclipse的方法引入,同样在文件夹的相对路径下建/lib然后把jar包拷过来

然后在.classpath文件中写入<classpathentry kind="lib" path="lib/*.jar"/>即可

Maven

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

上一篇:day7(vue发送短信)


下一篇:classpath和jar