【发布时间】:2013-11-29 11:07:37
【问题描述】:
我有两个 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 的方式与程序包含该库的方式相同。好像只有这部分存在时才会出现问题。
【问题讨论】:
-
一般提示: - 确保父项目有可用的 Scala 运行时库(不仅仅是子项目) - 考虑使用 SBT(在开发 Scala 时,它通常比 Maven 更好地处理 Scala 运行时和其他库代码)
-
也许您遇到了 IDE 问题 - 关闭第一个项目并重试构建。您也可以真正删除 .m2 文件夹中的文件以确保...
-
jar文件现在可以了吗?可以正确解压吗? (它可能已经被 git 或非二进制文件传输或类似管理)
标签: scala maven compilation