gpt4 book ai didi

maven - 依赖项和插件标签中的依赖项有区别吗?

转载 作者:行者123 更新时间:2023-12-03 01:22:13 26 4
gpt4 key购买 nike

我有一个问题。

在pom.xml中,依赖包含在两个地方。一个地方可以在 <project>标签,其他地方可以在 <plugin>标签。

我认为标签中的依赖关系只是与插件有关?这是正确的吗?

提前致谢:)

<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>clustered-queue</artifactId>
<packaging>jar</packaging>
<name>HornetQ JMS Clustered Queue Example</name>

<dependencies>

<dependency>
<groupId>org.hornetq.examples.jms</groupId>
<artifactId>hornetq-jms-examples-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.spec.javax.jms</groupId>
<artifactId>jboss-jms-api_1.1_spec</artifactId>
</dependency>

</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.hornetq</groupId>
<artifactId>hornetq-maven-plugin</artifactId>
<executions>
<execution>
<id>start1</id>
<goals>
<goal>start</goal>
</goals>
<configuration>
<jndiPort>1199</jndiPort>
<jndiRmiPort>1198</jndiRmiPort>
<hornetqConfigurationDir>${basedir}/target/classes/hornetq/server1</hornetqConfigurationDir>
<fork>true</fork>
<systemProperties>
<property>
<name>udp-address</name>
<value>${udp-address}</value>
</property>
</systemProperties>
</configuration>
</execution>
</executions>
<dependencies>

<dependency>
<groupId>org.hornetq</groupId>
<artifactId>hornetq-core-client</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.hornetq</groupId>
<artifactId>hornetq-server</artifactId>
<version>${project.version}</version>
</dependency>

</dependencies>
<configuration>
<waitOnStart>false</waitOnStart>
</configuration>
</plugin>
</plugins>
</build>

</project>

最佳答案

<dependencies>位于<project>下是我们的 Artifact 的依赖项列表,Maven 将在编译时下载并为我们链接依赖项。请参阅POM Reference: DependenciesIntroduction to the Dependency Mechanism欲了解更多信息。

<dependencies>位于<plugin>下是作为它们所在插件的依赖项应用。 此功能的强大之处在于更改插件的依赖项列表,可能是通过 exclusions 删除未使用的运行时依赖项。 ,或通过更改所需依赖项的版本。请参阅POM Reference: PluginsGuide to Configuring Plug-ins欲了解更多信息。

希望这会有所帮助。

关于maven - 依赖项和插件标签中的依赖项有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15917352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com