您现在的位置是:首页 >学无止境 >Maven介绍网站首页学无止境

Maven介绍

醒过来摸鱼 2023-06-18 20:00:03
简介Maven介绍

  Java代码编译,是使用javac命令。当项目特别大的时候,用javac命令编译项目就很麻烦。
  Java项目的编译可以用一个公式来说明:
  Source + resource + dependencies => targets
  手动编译的困难主要在三个地方:
  1 源代码,源代码可能有上百个文件夹,上千个java文件以及图片、xml、json等资源文件。如果用javac,源代码清单会很长,而且增加源代码或者删除源代码需要手动修改源代码清单。
  2 类路径。一个项目可能依赖上百个第三方库。而且这些类库之间有依赖关系。此外依赖之间还有版本冲突。
  3 编译目标。一个项目可能编译成多个产品。比如mysql版,Oracle版。如用javac编译,清单文件太多,以致维护困难。
  虽然说用开发工具可以很容易编译java代码。但是有很多情况下开发工具不能使用。就比如linux服务器环境,这种环境下没有图形界面,只能使用命令行。
  Maven打包时源代码中的非java文件(也叫资源文件)不能进入jar包。所以需要将源码中的所有资源文件放入src/main/resources中,java文件放入src/main/java中。将两种文件区分开来。这样就能够正常打包。
  Maven的出现解决了上述三个问题。

源代码问题

  Maven默认
  src/main/java为源代码目录。
  src/main/resource为资源文件目录
  src/test/java为测试源代码目录
  src/test/resource为测试资源目录

类路径问题

  Maven使用配置文件来管理依赖。只需要写好配置,maven便会从中央库服务器或者其他类库服务器来下载第三方的依赖。如果下载的第三方库还依赖别的库,那么maven会递归下载完所有的依赖。

编译目标问题

  Maven使用profile来生成不同的编译目标。同一套代码可以编译为开发版、测试版、发行版等等。Profile可以自定义。

  Maven项目分各种类型,常见的有三种项目
  1 pom项目,pom项目是干啥的呢?Pom项目可以理解为一个容器,用来装其他项目的,也叫父项目。
  2 jar项目,其实就是普通的java项目,生成的目标文件是jar包。
对于jar项目,有多种变体,比如ejb,ejb项目是生成两个jar文件的,一个是客户端jar,一个是jar。客户端jar比jar少了实现类,具体需要配置。
  3 war项目,其实就是web项目,生成的目标文件是war包。
  当然,还有ejb,ear,zip等其他不常见的项目类型。

POM项目

  Pom项目作为父容器,其核心功能就是子模块加进来,然后统一管理。
  怎样加子模块?

<modules>
	<module>loan-data</module>
	<module>loan-site</module>
	<module>loan-web</module>
	<module>loan-ws</module>
	<module>loan-mweb</module>
</modules>

  这样就可以了。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。