当前位置: 首页 > 知识库问答 >
问题:

插件标签中的依赖项和依赖项之间有区别吗?

宇文鸣
2023-03-14

我有个问题。

在pom.xml中,依赖项包含在两个地方。一个位置可以在 标记中,另一个位置可以在 标记中。

提前致谢:)

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

共有1个答案

郜俊健
2023-03-14

位于 之下,是我们工件的依赖项列表,Maven将在编译时为我们下载并链接这些依赖项。请参阅POM参考:依赖项和依赖机制介绍以获得更多信息。

位于 下的 将作为它们所在插件的依赖项应用。它的强大之处在于更改插件的依赖项列表,可能是通过exclusions删除未使用的运行时依赖项,或者更改所需依赖项的版本。有关更多信息,请参见POM参考:插件和配置插件指南。

我希望这可能会有所帮助。

 类似资料:
  • 当使用一些第三方库时,我将依赖项添加到模块的build.gradle文件中。 或者我添加一个插件 有时,库需要向应用的build.gradle文件添加依赖项。 这些依赖项和插件之间有什么区别 为什么不能在一个构建中设置它们。格雷德尔档案? 所有的建议都很感谢,我在搜索这方面的信息时遇到了困难

  • 我正在处理另一个关于我的构建的问题。gradle需要理解我的Android项目中的工作区项目依赖关系。我已经使用Java和Android有一段时间了,但我仍然很容易对添加依赖项的所有不同方法感到困惑。一种方法是放一个标签。libs/文件夹中的jar文件。另一种方法是具有工作区项目依赖关系。另一种方法(如果使用Android)是在Android选项菜单中添加项目依赖项?我觉得如果我真的理解了为什么会

  • 最近,我发现了以下问题: 当我为我的项目设置依赖项管理时,我有一个child-pom,它使用具有依赖项的插件,我想要与在我的依赖项管理中声明的依赖项同步。 在根pom中,我在依赖项管理中声明: 在子pom中,我有一个插件需要gwt-user: 但是,如果我移除gwt-maven-plugin中使用的依赖版本,编译就会失败。 是不是还有别的办法可以实现呢? PS:在maven和maven插件中有一个

  • 我是maven工具的新手,我用Spring和Hibernate做了一个项目,它们在pom.xml中配置为插件,但是JUnit被标记在dependency下。我的问题是,一个作为插件,一个作为依赖,背后的逻辑是什么?

  • 我正试图让maven下载所有的依赖项(编译、测试、插件等)。)这样我就可以避免让我们的dockerized构建浪费不必要的时间一遍又一遍地下载它们。 我们已经对maven build进行了dockerized,这样我们就可以从jenkins运行它,而无需在jenkins机器上安装大量构建特定的依赖项(Java、redis、maven依赖项等)。我们的构建依赖于增量docker构建,它只执行实际需要