2012-07-24 60 views
1

我最近尝试过使用NetBeans,但我不明白它如何处理maven multimodule项目。运行multimodule的Netbeans maven项目

我的项目有相当复杂的模块结构,当我们正在处理它时(我们主要使用IntelliJ社区版),我们不想打开所有模块(约50个模块),因为它需要几个小时来加载项目,而是我们创建了一个“工作空间”模块:一个包含pom.xml的文件夹,其中包含一个打包类型pom并定义了我想要加载的模块。

可以说,它定义模块A,B,C

我们在模块A这是一个低级别的基础设施模块我们的“主”方法(我们不使用任何类型的容器)。 作为一个运行时依赖项,我们需要A,B,C。但是A并不真正依赖于B,C,而是B和C依赖于A(依据Maven依赖关系)。

所以我们创建了另一个模块,我们称它为runner,我们定义所有的依赖关系。我们的工作空间pom.xml有runner的模块声明,所以为了从intelliJ运行项目,我们在模块A中运行main方法时使用'module runner'classpath。

现在,我该如何实现影响最新的Netbeans(7.1.2)?

我明白,这个问题是一种新手的风格,但我很难与它斗争,没有运气 因此,任何帮助将在这里赞赏。谢谢:)

+1

如果maven可以运行Pom.xml,你应该可以在Netbeans中打开pom.xml。试过吗? – 2012-07-24 06:23:09

+0

是的,当然,它会打开它。我可以构建我的模块,但是我可以从netbeans运行我的主类,这样我就可以获取其他模块的类路径。相反,当我右键单击main方法并运行它时,会产生java exec插件,我不知道在哪里编译它。我只是不想在我的pom中为此配置java exec插件。总而言之,它看起来像NetBeans直接使用maven,并不像IntelliJ那样创建IDE特定层。 – 2012-07-24 06:45:51

+0

那么,它的工作与否? – 2012-07-24 10:59:38

回答

1

只是在同样的问题挣扎 - 从Netbeans wiki中列出的东西看来,每个模块都代表了它自己的Netbeans项目,其他所有项目都会用项目依赖关系来表达。请参阅http://wiki.netbeans.org/MavenBestPractices

带模块的项目称为多模块或聚合器项目。模块是POM列出的项目,并作为一个组执行。 NetBeans中的Maven项目将这些模块列为“必需的项目”。因此,您只能通过包含已定义模块的“pom”包装为Maven项目获取所需的项目列表。

相关问题