IntelliJ IDEA 15 でのみコンパイルでき、if ステートメントで呼び出しを保護できます。例えば:
final BuildNumber build = ApplicationInfo.getInstance().getBuild();
if (build.getBaselineVersion() >= 143) {
// call setUseClasspathJar() here
}
さまざまな IntelliJ プラットフォーム ベースの製品のビルド番号範囲は、こちらから入手できます。
別のオプションは、リフレクションを使用してメソッドを呼び出すことです (利用可能な場合)。これははるかに冗長ですがcom.intellij.util.ReflectionUtil
、少し簡単にするために利用できます。
final Method method =
ReflectionUtil.getDeclaredMethod(SimpleJavaParameters.class,
"setUseClasspathJar", boolean.class);
if (method != null) {
try {
method.invoke(parameters, true);
}
catch (IllegalAccessException e1) {
throw new RuntimeException(e1);
}
catch (InvocationTargetException e1) {
throw new RuntimeException(e1);
}
}