运行时依赖包含在战争中

时间:2013-12-18 13:47:51

标签: java maven dependencies

我有点惊讶:我在maven pom中宣称依赖于运行时,它仍然包含在战争中。 老实说,我不希望这样做...... 我使用junit只是为了演示...... :) 例如:


  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>runtime</scope>
    </dependency>
  </dependencies>

谢谢, Roxana的

2 个答案:

答案 0 :(得分:2)

一些maven-scopes:

  • 如果生产中需要依赖关系,并且必须与应用程序使用范围一起交付runtime
  • 如果只需要(单元)测试需要依赖关系而不应该使用范围test
  • 如果生产中需要依赖关系但已经是容器的一部分(例如tomcat,JBOSS),请使用范围provided

答案 1 :(得分:1)

如果你想在运行时使用它,那么它必须在包中。否则软件会在哪里找到它。

你在期待什么?最重要的是,为什么要在运行时包含JUnit?它应该在测试范围内。