【发布时间】:2020-12-26 18:37:13
【问题描述】:
我一直在尝试做:mvn clean install 在一个依赖外部 jar 的项目上,但得到了:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:testCompile (default-testCompile) on project automation-service: Compilation failure: Compilation failure:
[ERROR] /C:/Checkouts/Release-4.0/test-service-intelligence/service-automation-service/src/test/java/com/company/automation/steps/BasicsSteps.java:[16,53] package com.company.service.automation.databaseaccess does not exist
/C:/Checkouts/Release-4.0/test-service-intelligence/service-automation-service/src/test/java/com/company/automation/steps/BasicsSteps.java:[43,13] cannot find symbol
[ERROR] symbol: class IdentifierIndexRepository
奇怪的是,这在我的同事 MAC 上成功执行(尽管他使用的是完全不同的 IDE、工具和东西。例如,他使用的是 X-Code IDE、ZULU 8 JDK、Maven 3.5)。首先我认为这是一个JDK问题并将JDK切换为与他的相同:ZULU 8,然后我尝试了他的Apache Maven版本并从3.6降级到3.5。最后我绝望地从 Intelij Idea 切换到 Eclipse -> 没有任何帮助。
似乎丢失的包来自成功提供的外部依赖项 jar - 我可以在外部库中看到它,在尝试 mvn clean install 之前也没有未解决依赖项的迹象(mvn clean compile 成功通过)
POM 中的依赖声明如下:
<dependency>
<groupId>com.company.da.fid.resolve</groupId>
<artifactId>automation-database-access</artifactId>
<version>1.0-SNAPSHOT</version>
<classifier>jar-with-dependencies</classifier>
</dependency>
和这样的 maven-compiler-plugin:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
依赖.jar文件包含他自己的依赖。
任何人有想法或线索可能会发生在我身上吗?
提前致谢。
【问题讨论】:
-
通常不鼓励使用
jar-with-dependencies作为依赖项。 -
@JFabianMeier,请告知我除了 jar-with-dependencies 之外的其他选择是什么?如果需要,我渴望重新处理这个 .jar。
-
如果您想从命令行运行 JAR(可执行 JAR、胖 JAR),通常使用
jar-with-dependencies。对于依赖项,您只需使用“通常”的 JAR。 Maven 会自动解析传递依赖,因此您无需将所有依赖打包到一个 JAR 中。 -
@AngelElenkov 有什么解决方案吗?我也面临同样的问题。
标签: java maven intellij-idea maven-plugin maven-compiler-plugin