【问题标题】:How to import all provided Wildfly libraries in my maven project?如何在我的 Maven 项目中导入所有提供的 Wildfly 库?
【发布时间】:2017-12-10 16:43:23
【问题描述】:

有没有办法将这种人类语言翻译成Maven 乐于理解的 xml 代码块?

嘿 Maven,看起来你是一个很棒的依赖管理系统。我正在开发一个旨在部署在 Wildfly 10.1.0 上的 JavaEE 项目。请将 Wildflys 父 BOM http://repo1.maven.org/maven2/org/wildfly/wildfly-parent/10.1.0.Final/wildfly-parent-10.1.0.Final.pom 中指定的所有库放在编译时类路径上,并将它们视为 Wildfly 在运行时提供的。请不要打扰我在项目 pom 文件的依赖项部分中列出每个引用的工件。谢谢你,Maven,你太酷了。

澄清: 据我了解,在 pom 文件的 dependencyManagement 部分中导入 bom 文件只会让我指定每个工件的版本号,但我仍然必须声明每个工件 ID 和组 ID。

这里确实讨论过How to use BOM file with Maven 但在这个答案中也说明了:

那么你不必指定依赖的版本属性。

我宁愿只声明我正在使用 wildfly,然后能够使用所有客户端库而不声明任何其他依赖项。

但我必须承认,我感觉错过了一些显而易见的事情。应该有一个简单的方法来做到这一点。

【问题讨论】:

标签: maven jakarta-ee wildfly


【解决方案1】:

如果您希望将另一个 pom 中的所有内容设置为依赖项,并且您可以在 pom.xml 中指定它。 Wildfly 10.1.0.Final 的 minimal pom 包含所有内容似乎如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>wft</groupId>
    <artifactId>wft</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>wft</name>
    <description>wft</description>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.wildfly</groupId>
            <artifactId>wildfly-spec-api</artifactId>
            <version>10.1.0.Final</version>
            <type>pom</type>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>

但我仍然建议按照 wildfly 自己的方式进行操作,即将 BOM 放入 depencency management 部分并根据需要声明工件。为什么?除了阅读起来更干净,而且 maven/java 编译和构建可能更容易之外,我不知道。

【讨论】:

  • 谢谢你,Karl,wildfly-spec-api atrifact 是我缺少的部分。这里的社区真的很棒。
猜你喜欢
  • 2019-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
  • 2013-05-31
相关资源
最近更新 更多