我有一个多模块的Maven项目。为了这个示例,请考虑两个模块:
data
consumer
模块consumer
将模块data
作为依赖项。
模块data
声明了一堆核心类。有src/test
使用它们的测试。这些测试需要创建一些冗长的对象,因此我有一个带有一些实用程序方法的类来创建这些对象。实用程序类(SampleDataHelper
)在src/test
层次结构中。
我在consumer
模块中也进行了一些测试,这些测试需要创建一些冗长的对象。我想在我的树中的测试中使用我的SampleDataHelper
类(在data src/test
中定义)consumer src/test
。不幸的是,即使data
是的依赖项consumer
,consumer
也无法看到存在于下的类data src/test
。
为了解决这个问题,我想我可能会创造 另一个 模块(data-test
),并移动SampleDataHelper
下它 src/main
。然后,我将data-test
作为的 测试范围 依赖项包括在内data
。不幸的是,这引入了循环依赖:data
uses data- test
,而且data-test
requires data
。
我想出了唯一的解决办法是把SampleDataHelper
下data src/main
一个下test
包,并希望没有真正的应用程序代码以往任何时候都调用它。
我如何SampleDataHelper
在模块之间共享我的课程 而不 放在下面src/main
?
您的消费者项目取决于您的数据项目,因此我们很高兴必须在消费者之前构建数据。结果,使用[注释中](http://codingdict.com/questions/109626建议的技术,我将确保您的Data项目包含您希望共享的所有测试代码,并配置POM以生成测试JAR:
<plugin>
<groupId>org.html" target="_blank">apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
然后,您的Consumer项目将同时依赖于正常的Data JAR工件以及其他test-jar
工件,当然还有测试范围:
<dependency>
<groupId>com.foo</groupId>
<artifactId>data</artifactId>
<version>1.0</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
我已经在很多场合使用过这种方法,并且效果很好。
我有一个多模块Maven项目。在本例中,考虑两个模块: 模块具有模块作为依赖项。 为了解决这个问题,我想我可以创建另一个模块(),并将移到下。那么我将包含作为的测试范围依赖项。不幸的是,这引入了循环依赖关系:使用,但还需要。 我想出的唯一解决方案是将放在下,放在包下,希望真正的应用程序代码不会调用它。 如何在模块之间共享我的类,而不将其放在下?
问题内容: 假设我有一个要注入到config中的模块: 有两个子模块: 这是第一个: 第二个是相同的,以简化示例: 您会注意到,您可以将它们作为提供者来访问以配置选项: 如果我们在控制器中,则可以覆盖每个范围,例如: 但是,如果他们总是共享相同的财产怎么办?如何在提供商之间共享某些东西? 我可以同时为和注入和配置共享属性吗? 如何同时访问和作为单个模块的扩展? 问题答案: 将模块插入两个共享这些属
我有一个Maven项目,其中有一个parent-pom项目和3个maven-module项目。其中2个模块是编译成WAR文件的Java-EE web应用程序。其中1个模块包含公共JAVA代码,这些代码在其他2个项目之间共享。共享JAVA代码很容易。 我的问题是如何共享常见的静态资源,如JavaScript、CSS和图像文件,而不在每个web模块中重复它们?我还希望这样做:我可以继续从Eclipse
我曾广泛使用过Maven 目前有5个不同的maven项目,每个项目都有一个不同的pom.xml。到目前为止,它们之间存在依赖关系,如果需要,每一个都指向 中的另一个。 现在我们不喜欢的是 当我们发布子projectA时,我们需要手动修改所有将projectA作为依赖项的项目以使用新版本。Saw Maven有一个版本插件,不知道这会有什么帮助。 作为解决方案,我希望在POM之间有一个更干净的组织,并
我有以下Maven项目结构: i、 e.Project1、Project2和Project3在目录结构上是对等的,它们都是Spring Boot应用程序(JAR)。我想将Project2和Project3视为Project1的子项,而不改变目录结构。当我在父项目上执行相同的maven命令时,我需要在子项目上过渡地执行所有maven命令。而且最重要的是,我应该能够将它们打包到一个JAR文件中。我在谷
我正在尝试弄清楚如何在单个IntelliJ项目中的两个模块之间共享包,但我似乎找不到正确的方法。我知道它可以在Eclipse中完成,但我不太精通它。简而言之,我正在尝试重现由AppEngine连接的Android项目创建的相同类型的项目环境。 这是我能说的最好的“问题” 项目A。 模块1;AppEngine GWT其他任何内容 模块2;Android 每个模块在项目的主目录中都有自己的源目录: /