Maven提出了问题

时间:2014-08-14 02:06:27

标签: java eclipse maven

我刚刚开始使用研究Maven,并试图弄清楚这一切。我不得不在mongoDB的这个在线教程中使用它,我在几个不同的pom.xml文件上运行maven来构建几个不同的应用程序。我有几个关于Maven的问题,但希望能帮助我更好地理解如何使用它。

我理解Mavens pom.xml的概念,包括不同的依赖关系。当我在eclipse中的某个pom.xml上运行Maven时,该文件加载了Spark和FreeMarker所需的一切。这与常规导入声明有何不同?您的源代码无法导入FreeMarker / Spark?或者这是框架和类之间的某种差异吗?

似乎将现有项目变成具有合适pom的maven项目的唯一方法是创建新的maven项目(具有相同的项目名称?)并将所有源代码复制到src文件夹中。那么您是否必须为所有源代码构建测试代码? maven项目中的测试代码有多重要?

因此,在识别artifactID,groupID和版本之后,从头开始的新maven项目将构建正确的maven 2目录结构,然后我将在src文件夹下构建所有代码,在test文件夹下进行测试并手动添加依赖项我去的时候去了pom吗?

我只是想了解Maven如此重要的原因,以便我可以充分利用它。非常感谢任何类型的信息。 谢谢你的时间。

1 个答案:

答案 0 :(得分:2)

首先,我要说你的帖子中有太多问题。好像你应该拿起一本关于maven的书,或者通过一些好的教程来牢牢掌握它是如何工作的。

  

“这与常规导入语句有什么不同?您的源代码无法导入FreeMarker / Spark?”

如果你没有jar依赖项(对于任何非标准的java类,你都不能使用import语句.Maven将jar下载到本地存储库,以便你可以将它们用于这个项目和任何未来的项目。就像你没有使用maven一样,你仍然需要将库添加到你的项目中来使用它。

  

“而且似乎将现有项目变成具有合适pom的maven项目的唯一方法是创建新的maven项目..”

在Eclipse中很多次,您需要做的就是右键单击您的项目,然后在上下文菜单中转到configure->转换为maven项目。

  

“然后我会在src文件夹下构建我的所有代码,在test文件夹下进行测试,并在我去的时候手动将依赖项添加到pom中?”

源代码进入src / main / java,测试源文件(通常是测试用例)进入test / main / java ...是添加依赖项。大多数IDE都具有用户界面,您可以轻松搜索依赖项。与Eclipse一样,您可以从pom视图中单击依赖项选项卡中的添加,或者右键单击项目 - > maven->添加依赖项。您只需键入一些关键搜索关键字即可找到您要查找的内容。 (您需要记住索引本地仓库,以便eclipse可以在中央市场找到所有依赖关系)

  

“我只想了解Maven如此重要的原因,以便我可以充分利用它。”

我发现有用的主要内容:

  • 依赖关系管理,尤其是传递依赖关系。例如,jar A依赖于jar B,jar B依赖于jar C,jar C依赖于jar D.这将是一个令人头痛的问题,试图处理并记住所有这些事情,特别是你的项目和依赖树得到的越大。如果你去你的pom,并转到依赖层次结构选项卡(你有一些依赖项),你可能会注意到这个
  • 插件。这是Maven的主要功能之一。你应该真正了解它们是如何工作的。有大量的插件可以使构建过程更容易,并可以针对不同的场景进行定制。您甚至可以通过creating your own plugins扩展maven。 built in plugins已经有用了。但是,你会发现很多第三方可以满足你的特定需求。
  • 您可以加入的build lifecycle