java - 在 bazel 中导入 jar 时出现错误的魔法 efbfbdef 错误

标签 java maven jar bazel

我正在尝试使用命令准备带有依赖项的 maven-jar,

<build>
  <plugins>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
      </configuration>
    </plugin>
  </plugins>
</build>

我正在使用 java_import 在 bazel 中导入这个 jar

java_import(
    name = "test-dependency-jars",
    jars = [
]        "deps/deps-compile/tests.jar",
    ],
)

在 bazel 中扫描这个 jar 时出现错误

糟糕的魔法 efbfbdef

如何解决此错误。有没有另一种方法可以在maven中准备带有依赖项的jar,这样就不会出现此错误。

最佳答案

jar 内的类文件已损坏:文件的魔法值错误。 (请参阅 JVM 文档中的 ClassFile::magic: https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html )

(有趣的是,前三个字节是 0xEF 0xBF 0xBD,Unicode 替换字符,以 UTF-8 编码。我不知道该怎么理解。)

也许你的 jar 中有源文件,而不是类文件?你是如何构建那个 jar 的?

关于java - 在 bazel 中导入 jar 时出现错误的魔法 efbfbdef 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58370575/

相关文章:

maven - 在Maven中,扩展和插件有什么区别

java - 调用批处理运行jar的方法

java - 为什么我会陷入无限循环

java - java中的mysql查询不适用于数据库

java - 如何通过 Maven 将 "-J"选项传递给 javac?

java - Maven 3.0.5 和 IntelliJ 12 构建两个 jar 文件

Java 无法在 Linux 中的 .jar 文件中找到类

java - 无法使用 ResultSet 创建 ArrayList

java - Spring 声明式事务和手动调度线程

java - 通过pom.xml执行主类