Похоже, вы получаете более старую версию PlayN, в которой нет интерфейсов на Surface / Canvas.
Вы можете запустить:
mvn dependency:tree
в вашем подмодуле core
(в этом каталоге), чтобы увидеть, какие версии файлов JAR PlayN используются для создания вашего проекта. Вот пример из одной из моих игр:
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ atlantis-core ---
[INFO] com.threerings.atlantis:atlantis-core:jar:1.0-SNAPSHOT
[INFO] +- com.googlecode.playn:playn-core:jar:1.1-SNAPSHOT:compile
[INFO] +- com.threerings.nexus:nexus-core:jar:1.0-SNAPSHOT:compile
[INFO] | \- com.threerings:react:jar:1.1:compile
[INFO] +- com.threerings:tripleplay:jar:1.1-SNAPSHOT:compile
[INFO] +- com.samskivert:pythagoras:jar:1.2-SNAPSHOT:compile
[INFO] +- com.google.guava:guava:jar:10.0:compile
[INFO] | \- com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO] \- junit:junit:jar:4.8.1:test
Если вы не видите playn-core: jar: 1.0.1 или 1.0.2, (или 1.1-SNAPSHOT, если вы строите против своей сборки PlayN), тогда что-то не так. Скорее всего, вы можете исправить ошибку, добавив зависимость playn-core непосредственно к вашему core/pom.xml
. Обычно ваш верхний уровень pom.xml
определяет версию PlayN, которую вы используете в своем проекте:
<properties>
<playn.version>1.0.2</playn.version>
</properties>
Тогда ваш core/pom.xml
будет использовать это свойство для объявления playn-core
зависимости:
<dependency>
<groupId>com.googlecode.playn</groupId>
<artifactId>playn-core</artifactId>
<version>${playn.version}</version>
</dependency>