[Ikvm-developers] Problems with building an AWT-JAR.
Brought to you by:
jfrijters
|
From: <bjo...@ho...> - 2007-09-11 15:02:34
|
Hello, I've built the last release of IKVM.NET with NAnt. The build succeeded and I got no errors. But when I build a JAR-file with the final ikvm.exe, I'll get this message: C:\workspace\IKVM\ikvm-0.36.0.0\bin>ikvm.exe -jar test_button.jar Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit: ikvm.awt.NetToolkit, IKVM.AWT.WinForms, Version=0.36.0.0, Culture=neutral, PublicKeyToken=13235d27fcbfff58 at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:609) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:103) at java.awt.Window.<init>(Window.java:134) at java.awt.Frame.<init>(Frame.java:194) at javax.swing.JFrame.<init>(JFrame.java:112) at de.schmitz.bjoern.GuiWithButtons.<init>(GuiWithButtons.java) at de.schmitz.bjoern.GuiWithButtons.main(GuiWithButtons.java) Caused by: java.lang.ClassNotFoundException: ikvm.awt.NetToolkit, IKVM.AWT.WinForms, Version=0.36.0.0, Culture=neutral, PublicKeyToken=13235d27fcbfff58 at IKVM.NativeCode.java.lang.Class.forName0(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:265) at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:584) ... 6 more (The DLLs, the EXEs and the JAR-File are all in the same directory.) I use the latest release of IKVM.NET (0.36.0.0) with OpenJDK. This is the (complete) output of the building: Setting environment for using Microsoft Visual Studio .NET 2003 tools. (If you have another version of Visual Studio or Visual C++ installed and wish to use its tools from the command line, run vcvars32.bat for that version.) NAnt 0.85 (Build 0.85.2478.0; release; 14.10.2006) Copyright (C) 2001-2006 Gerry Shaw http://nant.sourceforge.net Buildfile: file:///C:/workspace/IKVM/ikvm-0.36.0.0/ikvm.build Target framework: Microsoft .NET Framework 1.1 Target(s) specified: all all: [nant] C:\workspace\IKVM\ikvm-0.36.0.0\tools\tools.build Buildfile: file:///C:/workspace/IKVM/ikvm-0.36.0.0/tools/tools.build Target framework: Microsoft .NET Framework 1.1 Target(s) specified: tools tools: BUILD SUCCEEDED Total time: 0 seconds. [nant] C:\workspace\IKVM\ikvm-0.36.0.0\runtime\runtime.build first-pass Buildfile: file:///C:/workspace/IKVM/ikvm-0.36.0.0/runtime/runtime.build Target framework: Microsoft .NET Framework 1.1 Target(s) specified: first-pass first-pass: IKVM.Runtime: [csc] Compiling 23 files to 'C:\workspace\IKVM\ikvm-0.36.0.0\runtime\IKVM.Runtime.dll'. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\MemberWrapper.cs(1593,4): warning CS0168: Die Variable 'x' ist deklariert, aber wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(1946,29): warning CS0649: Dem Feld 'IKVM.NativeCode.java.lang.Class.signersField' wird nie etwas zugewiesen, und es hat immer seinen Standardwert von null [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(1947,29): warning CS0649: Dem Feld 'IKVM.NativeCode.java.lang.Class.pdField' wird nie etwas zugewiesen, und es hat immer seinen Standardwert von null [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(1948,29): warning CS0169: Das private Feld 'IKVM.NativeCode.java.lang.Class.constantPoolField' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(1949,29): warning CS0169: Das private Feld 'IKVM.NativeCode.java.lang.Class.constantPoolOopField' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3140,23): warning CS0169: Das private Feld 'IKVM.NativeCode.java.lang.Thread.nonDaemonCount' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3141,44): warning CS0169: Das private Feld 'IKVM.NativeCode.java.lang.Thread.threadConstructor1' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3142,44): warning CS0169: Das private Feld 'IKVM.NativeCode.java.lang.Thread.threadConstructor2' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3143,38): warning CS0649: Dem Feld 'IKVM.NativeCode.java.lang.Thread.vmThreadField' wird nie etwas zugewiesen, und es hat immer seinen Standardwert von null [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3144,39): warning CS0169: Das private Feld 'IKVM.NativeCode.java.lang.Thread.threadGroupAddMethod' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3145,38): warning CS0649: Dem Feld 'IKVM.NativeCode.java.lang.Thread.threadStatusField' wird nie etwas zugewiesen, und es hat immer seinen Standardwert von null [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3146,38): warning CS0169: Das private Feld 'IKVM.NativeCode.java.lang.Thread.daemonField' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3147,38): warning CS0169: Das private Feld 'IKVM.NativeCode.java.lang.Thread.threadPriorityField' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3148,39): warning CS0169: Das private Feld 'IKVM.NativeCode.java.lang.Thread.threadExitMethod' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3149,35): warning CS0169: Das private Feld 'IKVM.NativeCode.java.lang.Thread.mainThreadGroup' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3162,45): warning CS0649: Dem Feld 'IKVM.NativeCode.java.lang.Thread.VMThread.nativeThread' wird nie etwas zugewiesen, und es hat immer seinen Standardwert von null [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3166,24): warning CS0649: Dem Feld 'IKVM.NativeCode.java.lang.Thread.VMThread.stillborn' wird nie etwas zugewiesen, und es hat immer seinen Standardwert von null [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3167,19): warning CS0649: Dem Feld 'IKVM.NativeCode.java.lang.Thread.VMThread.running' wird nie etwas zugewiesen, und es hat immer seinen Standardwert von false [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3169,27): warning CS0169: Das private Feld 'IKVM.NativeCode.java.lang.Thread.VMThread.nativeInterruptPending' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3170,27): warning CS0649: Dem Feld 'IKVM.NativeCode.java.lang.Thread.VMThread.interruptableWait' wird nie etwas zugewiesen, und es hat immer seinen Standardwert von false [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(3171,18): warning CS0169: Das private Feld 'IKVM.NativeCode.java.lang.Thread.VMThread.timedWait' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(4745,29): warning CS0169: Das private Feld 'IKVM.NativeCode.java.security.AccessController.threadIaccField' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(4746,35): warning CS0169: Das private Feld 'IKVM.NativeCode.java.security.AccessController.accessControlContextContructor' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(4747,29): warning CS0169: Das private Feld 'IKVM.NativeCode.java.security.AccessController.accessControlContextPrivilegedContextField' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(4749,37): warning CS0169: Das private Feld 'IKVM.NativeCode.java.security.AccessController.privileged_stack_top' wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(4753,21): warning CS0649: Dem Feld 'IKVM.NativeCode.java.security.AccessController.PrivilegedElement.protection_domain' wird nie etwas zugewiesen, und es hat immer seinen Standardwert von null [csc] c:\workspace\IKVM\ikvm-0.36.0.0\runtime\openjdk.cs(4754,21): warning CS0649: Dem Feld 'IKVM.NativeCode.java.security.AccessController.PrivilegedElement.privileged_context' wird nie etwas zugewiesen, und es hat immer seinen Standardwert von null [copy] Copying 1 file to 'C:\workspace\IKVM\ikvm-0.36.0.0\bin'. BUILD SUCCEEDED Total time: 0.6 seconds. [nant] C:\workspace\IKVM\ikvm-0.36.0.0\native\native.build Buildfile: file:///C:/workspace/IKVM/ikvm-0.36.0.0/native/native.build Target framework: Microsoft .NET Framework 1.1 Target(s) specified: ikvm-native ikvm-native: ikvm-native-win32: BUILD SUCCEEDED Total time: 0.2 seconds. [nant] C:\workspace\IKVM\ikvm-0.36.0.0\ikvmc\ikvmc.build Buildfile: file:///C:/workspace/IKVM/ikvm-0.36.0.0/ikvmc/ikvmc.build Target framework: Microsoft .NET Framework 1.1 Target(s) specified: ikvmc ikvmc: [csc] Compiling 19 files to 'C:\workspace\IKVM\ikvm-0.36.0.0\bin\ikvmc.exe'. BUILD SUCCEEDED Total time: 0.4 seconds. [nant] C:\workspace\IKVM\ikvm-0.36.0.0\openjdk\openjdk.build Buildfile: file:///C:/workspace/IKVM/ikvm-0.36.0.0/openjdk/openjdk.build Target framework: Microsoft .NET Framework 1.1 Target(s) specified: IKVM.OpenJDK.ClassLibrary.dll classes: [delete] Deleting 1929 files. [delete] Deleting 56 files. [delete] Deleting 12177 files. [delete] Deleting 838 files. [exec] Note: Some input files use or override a deprecated API. [exec] Note: Recompile with -Xlint:deprecation for details. [exec] Note: Some input files use unchecked or unsafe operations. [exec] Note: Recompile with -Xlint:unchecked for details. vfs: [zip] Zipping 441 files to 'C:\workspace\IKVM\ikvm-0.36.0.0\openjdk\vfs.zip'. IKVM.OpenJDK.ClassLibrary.dll: [exec] Warning IKVMC0102: duplicate class name: "javax.management.remote.rmi.RMIConnectionImpl_Stub" [exec] Warning IKVMC0102: duplicate class name: "javax.management.remote.rmi.RMIServerImpl_Stub" [exec] Warning IKVMC0102: duplicate class name: "org.omg.stub.java.rmi._Remote_Stub" [exec] Warning IKVMC0107: skipping resource (name clash): "META-INF/MANIFEST.MF" [copy] Copying 1 file to 'C:\workspace\IKVM\ikvm-0.36.0.0\bin\IKVM.OpenJDK.ClassLibrary.dll.new'. [exec] Microsoft (R) .NET Framework PE Verifier Version 1.1.4322.573 [exec] Copyright (C) Microsoft Corporation 1998-2002. All rights reserved. [exec] All Classes and Methods in C:/workspace/IKVM/ikvm-0.36.0.0/bin/IKVM.OpenJDK.ClassLibrary.dll.new Verified [copy] Copying 1 file to 'C:\workspace\IKVM\ikvm-0.36.0.0\bin'. [delete] Deleting file C:\workspace\IKVM\ikvm-0.36.0.0\bin\IKVM.OpenJDK.ClassLibrary.dll.new. BUILD SUCCEEDED - 0 non-fatal error(s), 8 warning(s) Total time: 844.8 seconds. [nant] C:\workspace\IKVM\ikvm-0.36.0.0\runtime\runtime.build Buildfile: file:///C:/workspace/IKVM/ikvm-0.36.0.0/runtime/runtime.build Target framework: Microsoft .NET Framework 1.1 Target(s) specified: IKVM.Runtime IKVM.Runtime: [csc] Compiling 23 files to 'C:\workspace\IKVM\ikvm-0.36.0.0\runtime\IKVM.Runtime.dll'. [copy] Copying 1 file to 'C:\workspace\IKVM\ikvm-0.36.0.0\bin'. BUILD SUCCEEDED Total time: 1.9 seconds. [nant] C:\workspace\IKVM\ikvm-0.36.0.0\ikvm\ikvm.build Buildfile: file:///C:/workspace/IKVM/ikvm-0.36.0.0/ikvm/ikvm.build Target framework: Microsoft .NET Framework 1.1 Target(s) specified: ikvm ikvm: BUILD SUCCEEDED Total time: 0 seconds. [nant] C:\workspace\IKVM\ikvm-0.36.0.0\ikvmstub\ikvmstub.build Buildfile: file:///C:/workspace/IKVM/ikvm-0.36.0.0/ikvmstub/ikvmstub.build Target framework: Microsoft .NET Framework 1.1 Target(s) specified: ikvmstub ikvmstub: [csc] Compiling 2 files to 'C:\workspace\IKVM\ikvm-0.36.0.0\bin\ikvmstub.exe'. BUILD SUCCEEDED Total time: 0.3 seconds. [nant] C:\workspace\IKVM\ikvm-0.36.0.0\awt\awt.build Buildfile: file:///C:/workspace/IKVM/ikvm-0.36.0.0/awt/awt.build Target framework: Microsoft .NET Framework 1.1 Target(s) specified: awt awt: [csc] Compiling 7 files to 'C:\workspace\IKVM\ikvm-0.36.0.0\bin\IKVM.AWT.WinForms.dll'. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\awt\fonts-0.95.cs(48,33): warning CS0612: 'java.awt.Font.getPeer()' ist obsolet [csc] c:\workspace\IKVM\ikvm-0.36.0.0\awt\graphics.cs(106,37): warning CS0612: 'java.awt.Font.getPeer()' ist obsolet [csc] c:\workspace\IKVM\ikvm-0.36.0.0\awt\graphics.cs(492,41): warning CS0612: 'java.awt.Font.getPeer()' ist obsolet [csc] c:\workspace\IKVM\ikvm-0.36.0.0\awt\toolkit-0.95.cs(141,35): warning CS0612: 'java.awt.Component.getPeer()' ist obsolet [csc] c:\workspace\IKVM\ikvm-0.36.0.0\awt\toolkit-0.95.cs(366,4): warning CS0168: Die Variable 'ex' ist deklariert, aber wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\awt\toolkit-0.95.cs(449,13): warning CS0168: Die Variable 'ex' ist deklariert, aber wird nicht verwendet. [csc] c:\workspace\IKVM\ikvm-0.36.0.0\awt\toolkit-0.95.cs(577,69): warning CS0612: 'java.awt.Component.getPeer()' ist obsolet [csc] c:\workspace\IKVM\ikvm-0.36.0.0\awt\toolkit-0.95.cs(586,25): warning CS0612: 'java.awt.Component.getPeer()' ist obsolet [csc] c:\workspace\IKVM\ikvm-0.36.0.0\awt\toolkit-0.95.cs(592,43): warning CS0612: 'java.awt.Component.getPeer()' ist obsolet [csc] c:\workspace\IKVM\ikvm-0.36.0.0\awt\toolkit-0.95.cs(672,42): warning CS0612: 'java.awt.Component.getPeer()' ist obsolet [csc] c:\workspace\IKVM\ikvm-0.36.0.0\awt\toolkit-0.95.cs(1189,42): warning CS0612: 'java.awt.Font.getPeer()' ist obsolet [csc] c:\workspace\IKVM\ikvm-0.36.0.0\awt\toolkit-0.95.cs(536,38): warning CS0612: 'java.awt.Component.getPeer()' ist obsolet [csc] c:\workspace\IKVM\ikvm-0.36.0.0\awt\toolkit-0.95.cs(554,54): warning CS0612: 'java.awt.Component.getPeer()' ist obsolet BUILD SUCCEEDED Total time: 0.5 seconds. [nant] C:\workspace\IKVM\ikvm-0.36.0.0\jvm\jvm.build Buildfile: file:///C:/workspace/IKVM/ikvm-0.36.0.0/jvm/jvm.build Target framework: Microsoft .NET Framework 1.1 Target(s) specified: JVM JVM: [exec] .assembly extern mscorlib [exec] { [exec] .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) [exec] .ver 1:0:5000:0 [exec] } [exec] .assembly extern IKVM.Runtime [exec] { [exec] .ver 0:36:0:0 [exec] } [exec] Microsoft (R) .NET Framework IL Assembler. Version 1.1.4322.573 [exec] Copyright (C) Microsoft Corporation 1998-2002. All rights reserved. [exec] Assembling 'jvm_h.il' , no listing file, to DLL --> '../bin/JVM.DLL' [exec] Source file is ANSI [exec] Assembling 'jvm32.il' , no listing file, to DLL --> '../bin/JVM.DLL' [exec] Source file is ANSI [exec] Assembling 'JVM.il' , no listing file, to DLL --> '../bin/JVM.DLL' [exec] Source file is ANSI [exec] Assembled global method JNI_CreateJavaVM [exec] Assembled global method JNI_GetDefaultJavaVMInitArgs [exec] Assembled global method JNI_GetCreatedJavaVMs [exec] Creating PE file [exec] Emitting members: [exec] Global Methods: 3; [exec] EmitExportStub: dwVTFSlotRVA=0x00000000 [exec] EmitExportStub: dwVTFSlotRVA=0x00000004 [exec] EmitExportStub: dwVTFSlotRVA=0x00000008 [exec] Writing PE file [exec] Operation completed successfully BUILD SUCCEEDED Total time: 0.4 seconds. BUILD SUCCEEDED Total time: 849.4 seconds. What is the problem? Is it possible, that the IKVM.AWT.WinForms.dll file is wrong?! Cheers, Björn -- Dr. Hornecker Softwareentwicklung und IT-Dienstleistungen Björn Schmitz Friedrichring 29 D-79098 FREIBURG Germany Phone: +49 (0) 6825 95977 197 Fax: +49 (0) 6825 95977 119 www.hornecker.de |