java构建jar时会发生什么(战争)

时间:2014-11-19 22:55:26

标签: java build compilation

我是maven的新手,由于范围属性,我开始思考java如何构建jar(或战争)。让我们说我编写了我的项目的源代码,它将被编译为myProject.jar。对于我的项目,我需要另一个jar外部项目.jar。所以我将externalProject.jar添加到我的构建路径中。

问题:当我编译我的Project以获取myProject.jar时,myProject.jar中是否包含externalProject.jar,以便我只能传递myProject.jar并且它会运行?或者myProject.jar只是调用externalProject.jar的代码而exernalProject.jar必须与myProject.jar在同一个文件夹中,并且也必须交付?

Helmsen

1 个答案:

答案 0 :(得分:0)

这取决于您如何在Maven中配置依赖项。 在为pPro.xml文件中的myProject配置依赖项时,为externalProject使用依赖性作用域“Runtime”,向Maven中的依赖关系管理框架指示它不是编译所必需的,而是用于执行。 类似地,使用也是默认范围的“compile”表示项目包含在类路径中。因此,如果未指定显式指定范围,则很可能使用externalProjects依赖项的“编译”默认范围。在这种情况下,您的依赖项将作为项目的JAR包含在内。

我建议您阅读Maven-Introuduction-To-Dependency-Mechanism