scala - maven项目编译问题

标签 scala maven compilation

我有两个 Maven 项目——一个库和一个小程序。它们位于不同的文件夹中并使用不同的 pom.xml并且库的jar文件包含在小程序的pom.xml中使用以下插件:

<groupId>com.googlecode.addjars-maven-plugin</groupId>
<artifactId>addjars-maven-plugin</artifactId>

和绝对路径:
<resource><directory>/path/to/jars</directory></resource>

这工作正常,但突然在两个项目中使用与以前相同的代码,小程序不再编译。该库仍然可以正常编译。
(使用 mvn package -Dmaven.test.skip=true)

错误信息不是很清楚:
[ERROR] error: error while loading <root>, error in opening zip file
[ERROR] error: scala.reflect.internal.MissingRequirementError: object scala.runtime in compiler mirror not found.
[ERROR]     at scala.reflect.internal.MissingRequirementError$.signal(MissingRequirementError.scala:16)
[ERROR]     at scala.reflect.internal.MissingRequirementError$.notFound(MissingRequirementError.scala:17)
...
[ERROR] error: fatal error: object scala.runtime in compiler mirror not found.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.935s
[INFO] Finished at: Fri Nov 15 22:39:11 CET 2013
[INFO] Final Memory: 9M/67M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.scala-tools:maven-scala-plugin:2.15.0:compile (default) on project testprogram: wrap: org.apache.commons.exec.ExecuteException: Process exited with an error: 1(Exit value: 1) -> [Help 1]

我在 Google 上对错误消息进行了一些研究,似乎这可能是由于 .jar 文件丢失或损坏造成的。我没有看到与这个案例的关系,因为我在工作和不工作案例中都有相同的代码和导入。

编辑:添加更多信息:图书馆正在使用 junixsocket并以与程序包含库相同的方式包含 .jar。似乎只有当这部分存在时才会出现问题。

最佳答案

整理 maven 在做什么以及为什么这样做的两个关键帮助是:

mvn help:effective-pom - 这会生成一个 pom 文件,其中包含所有已解析的属性和描述的所有任务 - 这包括默认的

mvn -X - 调试 maven 执行会产生很多信息。

我通常将 mvn -X 定向到文本文件,然后寻找错误周围的关键字。我使用有效的 pom 来帮助我弄清楚它是如何获取值的。

路径问题通常是这类问题中的问题,如果这种情况下找不到必要的。

关于scala - maven项目编译问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20011539/

相关文章:

list - Scala 列表串联,:::vs++

Scala Remote Actors - 陷阱

java - 如何使用 Maven 部署多个应用程序引擎实例?

windows - 使用MinGW从GNU源码包在windows中创建exe文件

安卓穿戴操作系统

c - 在linux内核编译中将.o文件放在单独的文件夹中

scala - 如何检查DataFrame的架构?

scala - 与 Scala 隐式类型不匹配

java - Maven 程序集创建带有依赖项的 jar,然后创建 zip 和 tar.gz 文件

java - Lombok 不生成 getters/setters(使用 Luna 或命令行编译)