8

假设我开发了一个游戏,并将其放在包结构中:

com.dxmio.games.breakout

那么,放置游戏使用的音频和图像等资源的“最佳实践”位置在哪里?

4

2 回答 2

17

您始终可以对您的项目采用标准的 Maven 方法,并将所有应用程序源文件放入:

{home}/src/main/java/com/dmxio/games/breakout

然后您的资源位于:

{home}/src/main/resources/com/dmxio/games/breakout

然后您的测试将存在于:

{home}/src/test/java/com/dmxio/games/breakout

这种结构是在 Maven 世界中构建项目的标准约定。它带来了很多优点,您可能想看看。您可以在此处查看资源部分:Apache Maven Guides - How do I add resources to my JAR

或者:)这里的另一个答案的方法很好......

于 2009-06-23T02:57:03.947 回答
11

我已经看到以多种不同的方式处理此问题:

  • 将您的资源直接放在com/dmxio/games/breakout(例如/com/dmxio/games/breakout/images/foo.gif/com/dmxio/games/breakout/images/bar.gif)下的子目录中

  • 将您的资源与您的类文件一起放入一个 jar 中(例如foo.gifbar.gif捆绑在 中breakout.jar

  • 将您的资源放在子目录下的单独“资源 jar”中com/dmxio/games/breakout(例如foo.gifbar.gif捆绑在 中/com/dmxio/games/breakout/images/images.jar

我倾向于支持最后一个选项。

然后,您可以使用该java.lang.Class.getResource()方法检索您的资源。

于 2009-06-23T02:39:12.190 回答