在NetBeans 8中的多模块Vaadin项目中添加Maven依赖项的位置



在NetBeans 8.1中使用Vaadin插件为NetBeans创建了一个新的Vaadin 7.6.4项目,并提供了带有4个模块的多模块原型,在哪里添加添加库的依赖项?

-ui"依赖项"的位置正确吗?这会被-production模块继承吗?或者我也需要指定依赖项吗?还是其他地方?

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

是的,这方面的记录很差。同意。

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

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

当您使用多模块原型时,还有一个令人讨厌的错误,这意味着您生成的WAR将非常大,没有充分的理由。看见https://stackoverflow.com/a/35406389/1504556.修复很容易。

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

模块A需要依赖Z

模块B需要依赖Y

模块C需要依赖Z和Y

您的模块依赖于:

家长需要A、B、C

C需要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>

举个例子。希望这对有一点帮助

最新更新