在 NetBeans 8 的多模块 Vaadin 项目中在哪里添加 Maven 依赖项?

Where to add Maven dependencies in a multi-module Vaadin project in NetBeans 8?

新建Vaadin 7.6.4 project in NetBeans 8.1 using Vaadin plugin for NetBeans and the provided multi-module archetype with 4 modules后,添加库的依赖在哪里?

-ui“依赖项”的位置是否正确?那会被 -production 模块继承吗?或者我也需要在那里指定依赖关系吗?或者其他地方?

我不是 Maven 专家,不使用 Maven 命令行。我正在使用 NetBeans 自己的用户界面,通过在 Projects 面板中单击上下文来添加依赖项。

我正在做一个非常相似的项目。如果您有父项和依赖项,maven 会将这些依赖项从子项继承到父项。因此,请参考您需要它的模块的基本 pom 中的每个依赖项。例如:

Module A needs dependency Z

Module B needs dependency Y

Module C needs dependency Z and Y

并且您的模块依赖于:

Parent needs A, B, C

C needs B

所以在B中你需要输入Y的依赖,在C中你需要B和Z的依赖,在A中你还需要Z。

C 不需要 Y 声明,因为它继承自 B

你可能遇到的大问题是处理交叉继承,有时你需要告诉某些模块排除一些从其他 jar 文件继承的文件,例如旧版本的文件。您可以通过:

<dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>4.2.0.Final</version>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

举个例子。希望能有所帮助

是的,这没有很好的记录。同意。

是的,-ui 模块是您完成所有工作和添加依赖项(Vaadin 附加组件除外)的地方。 -production 模块将自动继承 -ui,因此您实际上不会更改生产模块上的任何内容。

-widgetset 项目是应该添加 Vaadin 插件的地方。但是我不直接这样做,而是使用 Netbeans Vaadin 附加浏览器。这个你可以从你的多模块项目中的任何模块激活,所以即使你在 -ui 模块上激活它,它也会发现你正在添加一个 Vaadin 附加组件并将依赖项添加到-widgetset 项目上的 POM,而不是您右键单击的那个模块。甜

还有一个烦人的错误,当你使用多模块原型时,这意味着你生成的 WAR 会非常大,没有充分的理由。参见 。修复很简单。