【问题标题】:Where to add Maven dependencies in a multi-module Vaadin project in NetBeans 8?在 NetBeans 8 的多模块 Vaadin 项目中在哪里添加 Maven 依赖项?
【发布时间】:2016-04-05 22:50:02
【问题描述】:

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

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

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

【问题讨论】:

  • maven项目通常在pom.xml文件中添加依赖
  • 本题涉及多模块项目,多POM。
  • 是的,所以您有多个pom.xml 文件,只需将库添加到正确的文件中即可。例如,widgetset 和 parent 通常不需要 jar 库。
  • “正确的文件”?这就是我要问的。
  • 您要添加哪些库?可能在 UI 项目中的 pom.xml 中对于像 apache commons 这样的通用 jar 文件是正确的

标签: maven netbeans vaadin vaadin7


【解决方案1】:

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

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

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

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

【讨论】:

  • 如何激活 Netbeans Vaadin 插件浏览器? (感谢您的帮助)
  • @BasilBourque:右键单击 NetBeans 中的 -ui 项目节点。然后 Vaadin --> 打开附加组件浏览器。它真正做的只是让您搜索 Vaadin 附加组件,然后在选择时它会为您更改 POM。所有这些您也可以手动完成。这只是一个很好的便利。
【解决方案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 文件继承的文件,例如旧版本的文件。你可以这样做:

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

举个例子。希望对您有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-12
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多