如果有编译代码的javac,为什么我们需要maven?

时间:2015-06-07 01:14:20

标签: java maven

我是java编程的新手,但我一直在用.Net和PHP编程。在.Net中你所要做的就是运行它,它将输出已经可部署的bin目录中的exe文件,对吗?我对使用maven和javac很困惑。我一直在寻找,但我仍然无法理解它们。

我在想的是,当要在java中编译某个源代码时,使用cmd“javac”,类似于.Net中的“Run”。那么为什么我们需要Maven?

2 个答案:

答案 0 :(得分:1)

构建应用程序要比运行javac困难得多。像Maven这样的构建工具有两大动机:跨平台构建和依赖性跟踪。

Java开发人员的部分生活需要在多个平台上构建应用程序。构建必须在开发人员的机器上本地运行,它还必须在Continuous Integration服务器或其他一些环境中运行。 (对于某些项目,开发人员可能拥有不同的平台,因此即使只是在每个人的机器上运行构建都可能需要跨平台构建。)获得在多个环境中运行的shell脚本被证明是非常痛苦的,人们开始创建像Ant和后来的Maven这样的东西。

使用许多第三方库和框架将任何大小的Java应用程序放在一起。大多数这些第三方组件都依赖于其他库,跟踪纠结的混乱对任何人来说都是太多的工作。 Maven的一个重要功能是引入依赖关系,确保库具有兼容的版本。

答案 1 :(得分:0)

Maven是一个软件项目管理和理解工具而不是一种编程语言编译器,如 javac

Maven为您提供了一种在项目开发和部署阶段管理项目依赖关系的方法,这意味着它可以确保您拥有开发,构建和部署项目所需的库。 Javac只提供了编译Java代码的方法。