注: この Java 配備ガイドでは、Java SE 6 update 10 リリースより前にリリースされた機能について説明します。最新情報については、Java Rich Internet Application の開発および配備を参照してください。
java.lang.InstantiationException: either code or object should be specified, but not both
Sun Java Runtime Environment (JRE) 実装を使ってブラウザ内でアプレットを実行すると、java.lang.InstantiationException
がスローされます。同じアプレットが、Microsoft Virtual Machine (VM) では何のエラーもなく実行されます。
次の 2 つの原因があります。
code
属性と object
属性の両方が <APPLET>
タグ内に指定されています。<APPLET code=MyApplet object=MyApplet.ser width=100 height=100>
</APPLET>
code
属性、object
属性のいずれかにアクセスできますが、その両方にアクセスすることはできません。code
属性が <APPLET>
タグで指定され、object
属性が <PARAM>
タグで指定されています。<APPLET code=MyApplet width=100 height=100>
<PARAM name="object" value="someValue">
</APPLET>
public class MyApplet extends java.applet.Applet
{
public void init()
{
String value = getParameter("object");
}
....
}
object
をサポートしません。 原因が最初のものである場合、次のコードに示すように、<APPLET>
タグの code
属性を削除します。
<APPLET object=MyApplet.ser width=100 height=100>
</APPLET>
原因が 2 番目のものである場合、次のコードに示すように、パラメータ名を別の名前に変更します。
<APPLET code=MyApplet width=100 height=100>
<PARAM name="property1" value="someValue">
</APPLET>
public class MyApplet extends java.applet.Applet
{
public void init()
{
String value = getParameter("property1");
}
....
}
なし。