gpt4 book ai didi

java - 无法构建 JBox2D 重复类

转载 作者:行者123 更新时间:2023-12-01 14:20:36 25 4
gpt4 key购买 nike

我对学习 JBox2D 很感兴趣,但我似乎遇到了第一个障碍 - 构建库。

Quick-start instructions指定以下简单步骤:

  1. 通过 Subversion 查看项目:
  2. 作为 Maven 项目导入到您的 IDE(使用根文件夹中的 pom.xml 描述符)
  3. 运行 org.jbox2d.testbed.framework.TestbedMain 类

我已经检查了代码并将项目导入到 IntelliJ IDEA (12.1.4),但是,当我尝试运行 TestbedMain 类(并且它随后编译代码)时,我收到以下错误:

java: duplicate class: org.jbox2d.common.PlatformMathUtils
java: duplicate class: org.jbox2d.common.Timer

Duplicate class error

我做错了什么/我错过了什么?

谢谢

最佳答案

查看POM for the jbox2d-library module ,我看到有一个构建部分显式忽略了 gwtemul 包下的类:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/gwtemul/**</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>

在我看来,我可能应该通过 MVN 构建这个库,并将构建的 JAR 作为 jbox2d-testbed 模块的依赖项附加起来。

但是,我发现修改这些类的包声明也可以解决问题:

package org.jbox2d.gwtemul.org.jbox2d.common;

/**
* A GWT-compatible implementation of the platform math utilities.
*/
class PlatformMathUtils {

public static final float fastPow(float a, float b) {
return (float) Math.pow(a, b);
}
}

而且由于无论如何它们都会被构建忽略,所以我不认为它会造成任何伤害。

完成此操作后,我就能够运行 org.jbox2d.testbed.framework.TestbedMain 类并获得预期的 GUI:

TestbedMain Running

关于java - 无法构建 JBox2D 重复类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17604518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com