我一直试图摆脱使用拼图模块在Java 10上工作的项目基础,但是JOGL一直对我失败,并且我无法在线找到任何帮助。
请注意,整个项目可以编译并且可以在没有 module-info.java 文件的情况下正常运行,而且我设法在两个不同项目之间获得了工作模块链接(并非一切都坏了)。
JOGL项目(A)具有以下module-info.java和maven依赖项。然后是另一个使用JOGL项目的项目(B),但是无法访问任何JOGL类型(无论如何都不会导出)。项目B运行项目A的内容。项目B还不是模块化的。
模块信息文件:
module com.foo.bar {
...
requires jogl.all.main;
requires gluegen.rt.main;
}
Maven依赖项:
<dependency>
<groupId>org.jogamp.gluegen</groupId>
<artifactId>gluegen-rt-main</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>org.jogamp.jogl</groupId>
<artifactId>jogl-all-main</artifactId>
<version>2.3.2</version>
</dependency>
Eclipse关于任何jogl导入的报告:
import com.jogamp.opengl.GL4;
-> The import com.jogamp.opengl cannot be resolved
奇怪的是,maven能够愉快地构建项目A / B而没有错误,当我从命令行以jar形式运行项目B时,一切正常,而没有其他运行时错误。
这使我相信在过渡过程中Maven构建是可以的(它甚至还知道模块吗?),在这里只有一个糊涂的是Eclipse。
Java构建路径中的Eclipse库:
使用: Eclipse Photon 4.8.0(20180619-1200), Maven 3.5.3(3.7.0编译器插件), Java JDK-10.0.1