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

时间:2016-04-05 22:50:02

标签: maven netbeans vaadin vaadin7

使用Vaadin和提供的NetBeans Vaadin plugin for NetBeansmulti-module 8.1中创建新的archetype with 4 modules 7.6.4项目后,在哪里添加依赖项添加库?

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

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

2 个答案:

答案 0 :(得分:2)

我正在开展一个非常相似的项目。如果您有父级和依赖项,则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文件继承的一些文件,即E.G旧版本的文件。你可以通过:

<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>

举个例子。希望有所帮助

答案 1 :(得分:2)

是的,这个记录很少。同意。

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

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

当你使用多模块原型时,也会出现一个烦人的错误,这意味着你生成的WAR会非常大,没有充分的理由。见https://stackoverflow.com/a/35406389/1504556。修复很容易。