gwt-plugins / gwt-plugins/gwt-eclipse-plugin

Wrong default source level causes compilation problems (eg : with record objects)

オープン
#520 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
117
フォーク
49
PR マージ指標
30日以内にマージされた PR はありません

説明

I spent hours to solve a problem and wanted to report it here to help other people that will be concerned.
Thanks to chat gpt and Claude, i found the solution, i dont know how i would be able to find it before.

I don't know what is the default value for -sourceLevel program argument in the GWT eclipse plugin CodeServer run configuration, or in the GWT > compile option with right click on the project, but for some reason the plugin was not using the Java JDK version of the project, or the version of the workspace, and that was resulting to that kind of errors for a record type object (not a class) that was on my understanding managed since GWT SDK 2.12.0 :

`org.yp.client.model.Currency; did you forget to inherit a required module? Checked 2 dependencies for errors. Tracing compile failure path for type 'org.yp.client.view.dialog.linkpay.LinkPayEditor' Errors in 'file:/C:/DEV/GIT_FILES/WEB_NEPTING/admin_wa/src/main/java/org/yp/client/view/dialog/linkpay/LinkPayEditor.java' Line 126: No source code is available for type org.yp.client.model.Currency; did you forget to inherit a required module? Checked 1`

thanks to debug logs added with GWT plugin options in compiler i was able to understand better that it was a java compiler version issue that was not supporting record types :
Line 5: Syntax error on token "record", @ expected Line 11:

The compilation was fine with maven, but not with this GWT eclipse plugin, so that's why i managed to understand the issue, the plugin uses his own Java compiler or source level and not the one from the Eclipse Workspace or for the current project.

So the question is, why the plugin is not using the compiler version of the project, or why there is no clear options to set it ?
Regards

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Start with the GWT Eclipse plugin CodeServer run configuration and the GWT compile option, focusing on how the sourceLevel argument is selected. Reproduce the record compilation failure with the reported debug logs and compare it with the Maven build. Done means the plugin uses the project compiler level or exposes a clear option to set it, with the record example compiling successfully.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
build-system, tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。