如何在多模Maven SVN项目中的另一个模块中正确使用另一个模块的类?

时间:2013-06-26 18:33:47

标签: java spring svn maven autowired

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

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

所以,我将完整的项目提交给了SVN,我可以将模块A的依赖项添加到我的Module B xml中。

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

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

1 个答案:

答案 0 :(得分:1)

  

我的问题是,当我导入模块A时,到底发生了什么   上课进入模块B? Maven是否从我的SVN中拉出了这个类   致力于?如果我想编辑模块A的类,那么它就会   在模块B中执行另一个功能,我将不得不重新提交所有功能   再一次,并重新安装?

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

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

所有这一切都没有访问过您的SVN。

  

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

@Autowired是Spring框架提供的注释。有关Spring的几个教程,请参阅http://www.springsource.org/tutorials