Sim*_*lan 5 java gwt-2.5 java-10
我有一个使用GWT-2.5.1和Java 8构建的大量Web应用程序。随着Java 8的弃用,我需要将其迁移到Java 10/11。
我已经设法解决了一些问题,但是我遇到了一个我无法解决的问题。
在构建应用程序时,出现以下错误:
[INFO] Compiling module com.<xxx>
[INFO] [ERROR] Unable to find type 'java.lang.Object'
[INFO] [ERROR] Hint: Check that your module inherits
'com.google.gwt.core.Core' either directly or indirectly (most often by
inheriting module 'com.google.gwt.user.User')
Run Code Online (Sandbox Code Playgroud)
查看gwt.xml文件,对我来说似乎正确:
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to="xxxx">
<inherits name="com.google.gwt.user.User" />
<inherits name="com.google.gwt.user.theme.clean.Clean" />
<inherits name="com.google.gwt.logging.Logging" />
<inherits name="com.XXXXCoreBase" />
<!-- Delete non-0inherits stuyff -->
</module>
<!-- XXXXCoreBase -->
<?xml version="1.0" encoding="UTF-8"?>
<module>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name="com.google.gwt.user.User" />
<inherits name="com.google.gwt.query.Query"/>
<!-- Other module inherits -->
<inherits name="com.google.gwt.gen2.gen2" />
<inherits name="com.Microsoft" />
<inherits name="org.Org" />
<source path="client" />
<source path="shared" />
</module>
Run Code Online (Sandbox Code Playgroud)
使用Java 8可以很愉快地进行编译。要解决此问题,我需要做些什么?
支持在Java 9中运行。请注意,这并不意味着GWT可以编译Java 9源或支持Java 9 JRE更改,而是可以使用Java 9 JRE来编译GWT项目。请注意,
--module-path
不支持新标志,但-classpath
仍必须像过去一样使用。
如果您不使用Java 9模块,则可以使用最新版本。它是通过从System.getProperty(“ java.class.path”)中读取类路径来完成此操作的,因此,如果您使用标准工具来创建类路径,那么一切都会正常进行。如果您正在做任何非标准的分配类路径的操作,或者您正在使用Java 9模块(即,您提供的是模块路径而不是类路径),那么这很可能对您不起作用。
似乎,您最多可以做的就是升级到gwt-2.8.2,但仅限于使用类路径而不将应用程序模块化。
另外,这里还有Java10支持讨论的更多内容。
归档时间: |
|
查看次数: |
1891 次 |
最近记录: |