Linux でコンパイルの問題が発生しました。Linux で Java プログラムをコンパイルしています。対象は Linux と Windows の両方です。このコードは、プラットフォーム固有のクラスがあるかどうかをチェックします (以下のコードを参照)。そのため、コードが Linux で実行されている場合、特定の Windows コードは実行されません。
この問題は、プラットフォーム固有のクラスWin32MediaTrayの使用で発生します
報告されたコンパイルエラーは
PrinterScanner.java:9: error: cannot find symbol
import sun.print.Win32MediaTray;
^
Linuxでコンパイルできますか? それとも不可能ですか?Windows でのコンパイルでエラーが発生しないことは言うまでもありません。
ご協力ありがとうございました。
参考までに、この問題の背後にあるコードは次のとおりです。
private String getTrayName(Media media) {
String result = "id:" + media.getValue();
boolean isWin32 = media.getClass().getName().equals("sun.print.Win32MediaTray");
if (isWin32) {
Win32MediaTray w32 = (Win32MediaTray) media;
result = result + ",winId:" + w32.winID;
}
return result;
}