Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

JDK1.6.0_13とJDK1.7.0_55の共存環境でのJDK1.6.0_13指定のアプレットによる印刷処理時の不具合

2909760Mar 24 2015 — edited Mar 24 2015

JDK1.6.0_13とJDK1.7.0_55が共存する(インストールさている)環境にて、アプレットにてJDK1.6.0_13を指定して
印刷処理を起動すると、セキュリティーエラーが発生します。
(JDK1.6.0_13のみまたはJDK1.7.0_55のみがインストールされた環境ではエラーが発生しません。)

上記の原因を教えて頂けないでしょうか。

再現用ソースとスタックトレースを下記に記載しました。

★再現用ソース
下記をJDK1.6.0_13でコンパイルし、htmlファイルをサーバに配置して、
JDK1.6.0_13とJDK1.7.0_55が配置されているクライアントにてアクセスしてください。

-----------------------
■HTML
<html>
<head><title>Applet Test</title></head>
<body>

<applet code="AppletPrinterJobSample.class" width="150" height="150">
  <param name="java_version" value="1.6*"> </applet>

</body>
</html>
-----------------------
■Java
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.print.PrinterJob;

public class AppletPrinterJobSample extends Applet{

public void init(){
}

public void paint(Graphics g){
  // java のバージョン表示
  g.drawString(System.getProperty("java.version"),10,10);
  System.out.println(System.getProperty("java.version"));
    
  // 印刷処理の起動
  try {
   PrinterJob.getPrinterJob();
  } catch (SecurityException e){
   e.printStackTrace();
   System.out.println("NG!");
   return;
  }
  System.out.println("OK!");
}
}
-----------------------

★スタックトレース

使用中のJREのバージョン 1.6.0_13-b03 Java HotSpot(TM) Client VM
ユーザーのホーム・ディレクトリ = C:\Users\A2228729
----------------------------------------------------
c:  コンソール・ウィンドウをクリア
f:  ファイナライズ・キューのオブジェクトをファイナライズ
g:  ガベージ・コレクト
h:  このヘルプ・メッセージを表示
l:  クラスローダー・リストをダンプ
m:  メモリー使用率を表示
o:   ロギングをトリガー
q:  コンソールを非表示
r:  ポリシー構成を再ロード
s:  システム・プロパティとデプロイメント・プロパティをダンプ
t:  スレッド・リストをダンプ
v:  スレッド・スタックをダンプ
x:  クラスローダー・キャッシュをクリア
0-5: トレース・レベルを<n>に設定
----------------------------------------------------
トレース・レベルを5に設定: すべて ... 完了。1.6.0_13
ui: Pushing modality for applet ID 1 with dialog sun.plugin.util.PluginSysUtil$DummyDialog[dialog0,-100,-100,116x27,layout=java.awt.BorderLayout,APPLICATION_MODAL,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,3,22,110x2,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
ui: missing resource: java.util.MissingResourceException: Can't find resource for bundle com.sun.deploy.resources.Deployment, key OK
ui: missing resource: java.util.MissingResourceException: Can't find resource for bundle com.sun.deploy.resources.Deployment, key OK
ui: missing resource: java.util.MissingResourceException: Can't find resource for bundle com.sun.deploy.resources.Deployment, key 取消
basic: Dialog type is not candidate for embedding
java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
at com.sun.deploy.ui.DialogTemplate.setVisible(Unknown Source)
at com.sun.deploy.ui.UIFactory$11.execute(Unknown Source)
at sun.plugin.util.PluginSysUtil$SysExecutionThread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at java.awt.Dialog.show(Unknown Source)
at java.awt.Component.show(Unknown Source)
at java.awt.Component.setVisible(Unknown Source)
at java.awt.Window.setVisible(Unknown Source)
at java.awt.Dialog.setVisible(Unknown Source)
at com.sun.deploy.ui.DialogHelper.setVisible(Unknown Source)
at com.sun.deploy.ui.DialogTemplate$31.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.SecurityException: checkPrintJobAccess
at sun.plugin2.applet.SecurityManagerHelper.showPrintDialog(Unknown Source)
at sun.plugin2.applet.SecurityManagerHelper.access$000(Unknown Source)
at sun.plugin2.applet.SecurityManagerHelper$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.SecurityManagerHelper.checkPrintJobAccessHelper(Unknown Source)
at sun.plugin2.applet.AWTAppletSecurityManager.checkPrintJobAccess(Unknown Source)
at java.awt.print.PrinterJob.getPrinterJob(Unknown Source)
at AppletPrinterJobSample.paint(AppletPrinterJobSample.java:17)
at sun.awt.RepaintArea.paintComponent(Unknown Source)
at sun.awt.RepaintArea.paint(Unknown Source)
at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


以上になります、よろしくお願いいたします。

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 21 2015
Added on Mar 24 2015
0 comments
2,652 views