在 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 会非常大,没有充分的理由。参见 。修复很简单。
新建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 会非常大,没有充分的理由。参见