如何从maven命令行运行子模块文件

时间:2014-02-03 18:10:48

标签: eclipse maven

我是Maven的新手,从sonatype学习101 http://books.sonatype.com/mvnex-book/reference/index.html

我仍然对使用子模块创建maven项目感到困惑。我正在使用eclipse创建maven项目并在其下创建模块。

  1. maven项目是否有源代码或只有POM文件和源代码在模块中?
  2. 我知道我可以使用以下命令运行maven,如果没有模块,并且所有存在maven项目

    mvn exec:java -Dexec.mainClass="hello1"
    
  3. 在我的情况下,我有maven项目和子模块:

    • 主要方法应该在哪里?在主项目或模块中?
    • 执行该main方法的命令应该是什么?
    • 如果此main方法必须调用其他maven模块中的方法,pom.xml(和其他配置)应该有什么变化?我应该指定对其他罐子的依赖还是更多呢?
  4. 我似乎迷失了这些基本问题。我正在使用带有m2e插件和maven 3.X的eclipse。

1 个答案:

答案 0 :(得分:1)

重新1) 我不知道在reactor / parent项目中是否有源代码是不可能的,但这并不常见。至少我从未见过在父代中有代码的多模块项目。您引用的教程的第6章还描述了仅限POM的父级,并指出适当的包装类型为“POM”。

Re 2/3) 每个模块可以有零个或多个实现Main方法的类。如果一个模块需要运行另一个模块,那么是的,您将其声明为模块POM中的依赖项。要运行模块,首先必须运行reactor / parent的install目标。然后,您可以调用您希望运行的模块中的exec目标。

说完了。在使用Eclipse时,如果安装了m2e插件,则无需执行任何操作。如果您下载了Eclipse的J2EE版本,那么它已经安装好了。 m2e插件将根据POM内的依赖关系信息动态构建模块的Eclipse构建路径/类路径。您可以使用Main方法右键单击任何类,然后将其作为“Java Application”运行。