无法解析从(src/test/java)导入测试类包从一个子项目到另一个子项目(src/test/java)测试类

oogrdqng  于 2024-01-05  发布在  Java
关注(0)|答案(1)|浏览(212)

错误:无法解析导入XXX
我在Java 11中遇到了这个问题,同时试图从Java 8迁移。

  1. Parent Project X:
  2. Project A:
  3. Project Aa:
  4. src/test/java:
  5. MyTestA.java
  6. pom.xml
  7. pom.xml
  8. Project B:
  9. Project Ba:
  10. src/test/java:
  11. MyTestB.java
  12. pom.xml
  13. pom.xml
  14. pom.xml

字符串
我正在尝试从MyTestA.java访问 MyTestB.java

  • 我甚至尝试了与这个问题中描述的相同的方法,但仍然面临同样的问题。Maven编译错误-无法解析来自另一个本地项目的测试依赖项

我试过什么:
删除<scope>标记。现在在项目Ba pom.xml中,我声明了项目A的两个依赖项,一个是<type>jar</type>,另一个是<type>test-jar</type>,两者都没有声明。
在项目A's和项目Aa pom.xml中,"maven-jar-plugin"的执行目标应该指定"jar""test-jar"
仍然面临着同样的问题。
但是我能够从Project Aa的src/main/java包中访问类

hof1towb

hof1towb1#

工件的测试类是不公开的,只有src/main中的测试类公开。
为了实现你想要的,你可以在你的项目中添加另一个模块(比如Project C),你将把你在两个测试类中需要的公共代码放在其中。这个代码将在src/main/java中。
然后,您可以将此模块添加为Project AaProject Ba的测试依赖项。

  1. Parent Project X:
  2. Project A:
  3. Project Aa:
  4. src/test/java:
  5. MyTestA.java <== import MyCommonTestCode
  6. pom.xml <== depends Project C (scope : test)
  7. pom.xml
  8. Project B:
  9. Project Ba:
  10. src/test/java:
  11. MyTestB.java <== import MyCommonTestCode
  12. pom.xml <== depends Project C (scope : test)
  13. pom.xml
  14. Project C:
  15. src/main/java:
  16. MyCommonTestCode.java
  17. pom.xml
  18. pom.xml

字符串

展开查看全部

相关问题