在使用scalatest时,我遇到了一个奇怪的问题。我有一个带有多个模块的maven项目。如果我直接在模块中执行mvn测试。它可以正常工作,但如果在根文件夹中执行,它会抱怨编译时缺少包(依赖项)。
我的配置如下所示:
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_${scala.shortversion}</artifactId>
<version>3.0.0-SNAP2</version>
</dependency>
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest-maven-plugin</artifactId>
<version>1.0</version>
</dependency>
插件配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.scalatest</groupId>
<artifactId>scalatest-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
<junitxml>.</junitxml>
<filereports>WDF TestSuite.txt</filereports>
</configuration>
<executions>
<execution>
<id>scala-test</id>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
如果我从maven scala插件中删除目标,它将编译,但scalatest将找不到测试源并退出,并且没有执行任何测试 :
<plugin>
<version>2.15.2</version>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<scalaVersion>${scala.version}</scalaVersion>
</configuration>
</plugin>
你知道我做错了什么吗?!
干杯
在没有看到所有pom的情况下很难说,但一般来说:在root Pom中定义您在依赖管理部分中的所有依赖项,在pluginManagement部分中定义您的插件及其配置。在子pom中,仅定义您需要的那些插件和依赖项。
请记住,xxxManagement部分只构建共享定义,即一种根配置。您仍然需要在插件和依赖项部分定义所需内容,但可以省略版本和配置元素。
这将允许您的所有子POM在所有模块中运行测试。
我在Maven中有一个相当简单的带有子模块的项目结构: 在中,我定义了所有子模块的属性,如库版本或插件配置: 直接在节点中设置库版本。 在中设置节点。 尝试不同的库版本。 使用以及库是否存在。 在中运行。 在中运行。 在中运行 在中运行。 在中运行。
问题内容: 我有一个多模块项目:父POM.xml: rest-client-microservice的POM.xml如下所示: email-commons模块的POM.xml如下所示: 如果我尝试在父项目上执行,则会得到以下结果: 我已经在这个问题上困扰了好几天,但是我不知道为什么这不起作用。 问题答案: 我想到了。rest-client-microservice是一个Spring Boot项目,
我和我的朋友正在做一个Java maven项目,它的设置和我们从Git得到的项目是一样的。在我的设置中,Maven正确地导入了所有依赖项,但对于我的朋友,它找不到任何依赖项。 我们尝试过的事情: 右键单击project,单击maven并单击Reimport。 我们都可以上网,所以这也不是问题。而且,Maven在IntelliJ中设置为自动导入。
我创建了一个Maven项目,并添加了所需的依赖项。当我尝试构建项目时,会出现以下错误: 我的依赖关系确实表明,图书馆在那里: 其中包括必要的包: 以下是我的简历: 我对Java比较陌生,对Maven也很陌生,但是当我右键单击和时,我输入了适当的GroupID和artifactID和版本(如Maven Central中列出的),它会自动下载文件。不确定我还缺少什么。感谢任何帮助。 编辑:我应该注意,
我有以下目录结构: Android模块依赖于与AndroidProject在根目录中处于同一级别的所有java gradle项目。 在AndroidProject/settings中。gradle我有: 然后在AndroidProject/AndroidModule/build中。gradle我的依赖项设置如下: 当我调用时,这种依赖结构完美地工作和项目构建 在AndroidProject/bui
我想在Java应用程序中包括Postgres JDBC驱动程序,所以我将其添加为maven依赖项。我从这个列表中选择了最后一个版本,令我惊讶的是,它恰好是由Atlassian主持的。现在我收到这个错误: 丢失的工件postgresql: postgresql: jar: 9.4.1208-jdbc42-atlassian托管 我还尝试了一个不由Atlassian托管的旧版本,但得到了相同的错误!有