0

我正在为我的实习做一个多模块的 Maven 项目。我将调用父项目 A。我将调用两个模块:模块 A 和模块 B。

我想要做的是从模块 A 导入一个类,以便我可以在模块 B 中使用模块 A 的类。我不知道该怎么做,以及到目前为止我所做的事情到底发生了什么。

因此,我将整个项目提交给了 SVN,并且我能够将模块 A 的依赖项添加到我的模块 B xml 中。

我的问题是,当我将模块 A 的类导入模块 B 时到底发生了什么?Maven 是否从我承诺的 SVN 中提取课程?如果我想编辑模块 A 的类以便它在模块 B 中执行另一个功能,我是否必须重新重新提交并重新安装?如果有人能解释这个过程,将不胜感激。

编辑:另外,我想在模块 A 的类对象上使用 @Autowired 并在模块 B 中使用它。我不确定这是否可能,有人可以解释一下吗?

4

1 回答 1

1

我的问题是,当我将模块 A 的类导入模块 B 时到底发生了什么?Maven 是否从我承诺的 SVN 中提取课程?如果我想编辑模块 A 的类以便它在模块 B 中执行另一个功能,我是否必须重新重新提交并重新安装?

Maven 和 SVN 是两个不同的东西,默认情况下彼此无关。当您在父项目上调用“mvn install”时会发生这种情况:

  • Maven 将识别模块 B 依赖于模块 A,因此将首先构建模块 A
  • 编译完 Module A 后,Maven 会将创建的 moduleA.jar 安装到您本地的 Maven 存储库中(通常在 C:\Users\/.m2 中)
  • 然后 Maven 将编译模块 B。它需要 moduleA.jar 并从本地 Maven 存储库访问它
  • 编译模块 A 后,Maven 会将创建的 moduleB.jar 安装到本地 Maven 存储库中

所有这一切都无需访问您的 SVN。

另外,我想在模块 A 的类对象上使用 @Autowired 并在模块 B 中使用它。我不确定这是否可能,有人可以解释一下吗?

@Autowired 是 Spring 框架提供的注解。有关 Spring 的一些教程,请参见http://www.springsource.org/tutorials

于 2013-06-26T19:23:13.823 回答