classpath在哪和编译有关吗?

一、Maven简介 1、什么是Maven Maven是Apache的一个开源項目其主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。 2、为什么用Maven ①、Maven作为

maven3实战之坐标和依赖(依赖范围)

maven在编译项目主代码嘚时候需要使用一套classpath在哪假如,在编译项目主代码的时候需要用到spring-core该文件以依赖的方式被引入到classpath在哪中。其次maven在编译和执行测试代碼的时候会使用另外一套classpath在哪。如:JUnit就是一个很好的例子该文件也以依赖的方式引入到测试使用的classpath在哪中,不同的是这里的依赖范围是test最后,实际运行maven项目的时候又会使用一套classpath在哪。

1.compile : 编译依赖范围如果没有指定,就会默认使用该依赖范围使用此依赖范围的maven依赖,對于编译、测试、运行三种classpath在哪都有效典型的例子,如:spring

2.test : 测试依赖范围。使用此依赖范围的maven依赖只对于测试classpath在哪有效,在编译主代碼或者运行项目时将无法使用此类依赖典型的例子是:JUnit,它只有在编译测试代码及运行测试的时候才需要

3.provided :  已提供依赖范围。使用此依賴范围的maven依赖对于编译和测试classpath在哪有效,但在运行时无效典型的例子是:servlet-api,编译和测试项目的时候需要该依赖但在运行项目的时候,由于容器已经提供就不需要maven重复地引入一遍。

4.runtime : 运行时依赖范围使用此依赖范围的maven依赖,对于测试和运行classpath在哪有效但在编译主代码時无效。典型的例子是JDBC驱动实现项目主代码的编译只需要JDK提供的JDBC接口,只有在执行测试或者运行项目的时候才需要实现上述接口的具体JDBC驅动

5.system : 系统依赖范围。该依赖与三种classpath在哪的关系和provided依赖范围完全一致。但是使用system范围的依赖时必须通过systemPath元素显式地指定依赖文件的路徑。由于此类依赖不是通过maven仓库解析的而且往往与本机系统绑定,可能造成构建的不可移植因此应该谨慎使用。systemPath元素可以引用环境变量如:

6.import(maven2.0.9及以上) : 导入依赖范围。该依赖范围不会对三种classpath在哪产生实际的影响后续后讲到。

?? 1 maven概念模型 2 maven的生命周期项目构建过程 Maven生命周期就是为了对所有的构建过程进行抽象和统一 包括项目清理,初始化编译,打包测试,部署等

maven3实战之坐标和依赖(依赖范围)----------maven在编译项目主代码的时候需要使用一套classpath在哪假如,在编译项目主代码的时候需要用到spring-core该文件以依赖的方式被引入到classp

}

在B的目录下建立一个mypackage文件夹把A放在里面

程序员JAVA版里有详细的介绍!!

import 后的文件都包含在classpath在哪的路径里,你可以把你个人要用的文件放在一个目录下在把这个目录的路径包含在classpath在哪中。

这是java中包的概念
程序员java版特刊中游详细的介绍--王森的jdk源码分析(2)

如果有A.java和B.java两个文件在同一目录下,他们默认是在一个包內

不需要import,可以直接使用

我只是不明白为什么在同一个目录下,你还要用IMPORT呢

}

我要回帖

更多关于 classpath在哪 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信