Compile java at runtime

Is it possible that a java program compiles a java source file and (if there are no errors) runs the class file?
example:
We need this for scenarios:
a java program will create java code that will represent a scenario. This class will give the java code to the scenario runner, the scenario runner needs to compile the code and run it.
thanks,
frederic

Hi,
Is it possible that a java program compiles a java source file and (if there are no errors) runs the >>class file?Yes this can be done you will have to follow the following logic
1)Create a process which will compile the source code
2)Once the process has done the compiling and had succeed then call step 3
3)Create a process which will run the java program
For this you can use java.lang.Runtime,java.lang.Process class etc
try this way
java.lang.Process process=java.lang.Runtime().getRuntime();
process.exec("c:\\jdk1.3\\bin\\javac c:\\test.java");
Trace the Error Stream of the process,which can tell you about the status of compilation
read that and proceed,ie if error is found dont run the code otherwise :
process.exec("c:\\jdk1.3\\bin\\java test");
I have not tried this but I believe this can be helpful for you.
regards vickyk

Similar Messages

  • [java]compiling .java at runtime...illegal character: \0

    i have an RMI method call that receives a string with the name of the file and an array of bytes that contains the file.
    this method has to save the file,compile it if it's a .java or run it directly is it's a .class
    the file arrives completely,but in compiling it i get an error telling there's an illegal character inside,which is ' \0 '
    isn't that suposed to be the end of the file?..if i print the file on my linux shell with the "more" command,the character doesn't come out either,do you have an idea about how could i get it out from there?..

    i have an RMI method call that receives a string with the name of the file and an array of bytes that contains the file.
    this method has to save the file,compile it if it's a .java or run it directly is it's a .class
    the file arrives completely,but in compiling it i get an error telling there's an illegal character inside,which is ' \0 '
    isn't that suposed to be the end of the file?..if i print the file on my linux shell with the "more" command,the character doesn't come out either,do you have an idea about how could i get it out from there?..

  • Is it possible to call the java compiler javac from runtime

    Hi, can someone tell me if it is possible to call javac from runtime. I need to do this because the class I need to compile must be filled with some data given by the user. I plan to write the class code in a file, let the user write some code lines at runtime, add this lines to the file and then call javac in order to compile the file and check if the user wrote his lines properly. I wonder if this makes sense, thanks for reading this and for your help.

    You can try using the exec method in the class java.lang.Runtime, but here are some traps to watch out for when using it:
    http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html

  • EXCEPTION_ACCESS_VIOLATION (0xc0000005) on compiled Java code

    I'm confronted with the following error of this code.
    http://db-www.naist.jp/~makoto-y/tmp/Int2LongHash.java
    The exception appears only when the system gets high-load.
    Is there work-arounds?
    I've tried also with jdk1.5.0_06, but the same error occurred.
    Converting the inner class to a top-level class has no effects.
    # An unexpected error has been detected by Java Runtime Environment:
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00a2cd75, pid=1540, tid=2968
    # Java VM: Java HotSpot(TM) Client VM (1.6.0-beta2-b86 mixed mode)
    # Problematic frame:
    # J org.metabrick.xbird.util.collections.Int2LongHash$Int2LongLRUMap$ChainedEntry.recordRemoval(Lorg/metabrick/xbird/util/collections/Int2LongHash;)V
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    --------------- T H R E A D ---------------
    Current thread (0x003f6800): JavaThread "main" [_thread_in_Java, id=2968]
    siginfo: ExceptionCode=0xc0000005, writing address 0xfc2cee54
    Registers:
    EAX=0x42d43500, EBX=0x03d3ee00, ECX=0x03d3ee00, EDX=0x07911838
    ESP=0x0091f760, EBP=0x0091f778, ESI=0x0790f9f8, EDI=0xfc2cee38
    EIP=0x00a2cd75, EFLAGS=0x00010203
    Top of Stack: (sp=0x0091f760)
    0x0091f760: 0790ac30 079220b0 00000200 03d917f8
    0x0091f770: 00000000 6d955aa7 0091f7a8 00a2c9dc
    0x0091f780: 00000200 00000000 0091f7e8 00a12d50
    0x0091f790: 5ab674cf 00000000 07911838 03d3ee00
    0x0091f7a0: 03d8b700 00000010 0091f7f8 00a2c000
    0x0091f7b0: 03d8b700 078e4af4 00000010 00a2ab04
    0x0091f7c0: 078e4af4 03d8b700 00000010 00000001
    0x0091f7d0: 00000000 6d955ae7 5ab674d0 00000000
    Instructions: (pc=0x00a2cd75)
    0x00a2cd65: 20 8b fe c1 ef 09 c6 87 80 b1 5b 48 00 8b 79 20
    0x00a2cd75: 89 77 1c c1 ef 09 c6 87 80 b1 5b 48 00 8b e5 5d
    Stack: [0x008d0000,0x00920000), sp=0x0091f760, free space=317k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    J org.metabrick.xbird.util.collections.Int2LongHash$Int2LongLRUMap$ChainedEntry.recordRemoval(Lorg/metabrick/xbird/util/collections/Int2LongHash;)V
    J org.metabrick.xbird.util.collections.Int2LongHash.remove(I)J
    J org.metabrick.xbird.util.collections.Int2LongHash$Int2LongLRUMap.addEntry(IIJLorg/metabrick/xbird/util/collections/Int2LongHash$BucketEntry;)V
    J org.metabrick.xbird.util.collections.Int2LongHash.put(IJ)J
    J org.metabrick.xbird.xquery.util.StringChunk.storeCharChunk([CII)J
    J org.metabrick.xbird.xquery.util.StringChunk.store([CII)J
    J org.metabrick.xbird.xquery.dm.dtm.BigDocumentTable.setTextAt(J[CII)J
    J org.metabrick.xbird.xquery.dm.dtm.DocumentTableBuilder.createTextNode()V
    J org.metabrick.xbird.xquery.dm.dtm.DocumentTableBuilder.endElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    J org.apache.xerces.parsers.AbstractSAXParser.endElement(Lorg/apache/xerces/xni/QName;Lorg/apache/xerces/xni/Augmentations;)V
    J org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement()I
    J org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Z)Z
    j org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Z)Z+24
    j org.apache.xerces.parsers.XML11Configuration.parse(Z)Z+132
    j org.apache.xerces.parsers.XML11Configuration.parse(Lorg/apache/xerces/xni/parser/XMLInputSource;)V+29
    j org.apache.xerces.parsers.XMLParser.parse(Lorg/apache/xerces/xni/parser/XMLInputSource;)V+9
    j org.apache.xerces.parsers.AbstractSAXParser.parse(Lorg/xml/sax/InputSource;)V+43
    j org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Lorg/xml/sax/InputSource;)V+43
    j org.metabrick.xbird.xquery.dm.instance.DocumentTableModel.loadDocument(Ljava/io/InputStream;)V+35
    j org.metabrick.xbird.client.tools.command.ImportDocument.process([Ljava/lang/String;)Z+99
    j org.metabrick.xbird.client.tools.CommandInvoker.executeCommand([Ljava/lang/String;)Z+8
    j org.metabrick.xbird.client.tools.CommandInvoker.run([Ljava/lang/String;)V+66
    j org.metabrick.xbird.client.tools.CommandInvoker.main([Ljava/lang/String;)V+19
    v ~StubRoutines::call_stub
    --------------- P R O C E S S ---------------
    Java Threads: ( => current thread )
    0x48aa5000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3636]
    0x48aa0800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=4076]
    0x48a9e400 JavaThread "Attach Listener" daemon [_thread_blocked, id=3144]
    0x48aac400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2248]
    0x48a86c00 JavaThread "Finalizer" daemon [_thread_blocked, id=2664]
    0x48a82800 JavaThread "Reference Handler" daemon [_thread_blocked, id=2700]
    =>0x003f6800 JavaThread "main" [_thread_in_Java, id=2968]
    Other Threads:
    0x48a7f400 VMThread [id=4028]
    0x48aa6800 WatcherThread [id=3704]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    def new generation total 72576K, used 28616K [0x029d0000, 0x07890000, 0x07890000)
    eden space 64512K, 32% used [0x029d0000, 0x03e6fdd0, 0x068d0000)
    from space 8064K, 92% used [0x068d0000, 0x07022230, 0x070b0000)
    to space 8064K, 0% used [0x070b0000, 0x070b0000, 0x07890000)
    tenured generation total 967936K, used 253073K [0x07890000, 0x429d0000, 0x429d0000)
    the space 967936K, 26% used [0x07890000, 0x16fb4788, 0x16fb4800, 0x429d0000)
    compacting perm gen total 12288K, used 5879K [0x429d0000, 0x435d0000, 0x469d0000)
    the space 12288K, 47% used [0x429d0000, 0x42f8dd08, 0x42f8de00, 0x435d0000)
    No shared spaces configured.
    Dynamic libraries:
    0x00400000 - 0x00423000      C:\Program Files\Java\jdk1.6.0\bin\javaw.exe
    0x7c940000 - 0x7c9dd000      C:\WINDOWS\system32\ntdll.dll
    0x7c800000 - 0x7c931000      C:\WINDOWS\system32\kernel32.dll
    0x77d80000 - 0x77e29000      C:\WINDOWS\system32\ADVAPI32.dll
    0x77e30000 - 0x77ec1000      C:\WINDOWS\system32\RPCRT4.dll
    0x77cf0000 - 0x77d7f000      C:\WINDOWS\system32\USER32.dll
    0x77ed0000 - 0x77f17000      C:\WINDOWS\system32\GDI32.dll
    0x762e0000 - 0x762fd000      C:\WINDOWS\system32\IMM32.DLL
    0x60740000 - 0x60749000      C:\WINDOWS\system32\LPK.DLL
    0x73f80000 - 0x73feb000      C:\WINDOWS\system32\USP10.dll
    0x77bc0000 - 0x77c18000      C:\WINDOWS\system32\msvcrt.dll
    0x7c340000 - 0x7c396000      C:\Program Files\Java\jdk1.6.0\jre\bin\msvcr71.dll
    0x6d7f0000 - 0x6da2f000      C:\Program Files\Java\jdk1.6.0\jre\bin\client\jvm.dll
    0x76af0000 - 0x76b1b000      C:\WINDOWS\system32\WINMM.dll
    0x6d310000 - 0x6d318000      C:\Program Files\Java\jdk1.6.0\jre\bin\hpi.dll
    0x76ba0000 - 0x76bab000      C:\WINDOWS\system32\PSAPI.DLL
    0x6d7a0000 - 0x6d7ac000      C:\Program Files\Java\jdk1.6.0\jre\bin\verify.dll
    0x6d3a0000 - 0x6d3bf000      C:\Program Files\Java\jdk1.6.0\jre\bin\java.dll
    0x6d7e0000 - 0x6d7ef000      C:\Program Files\Java\jdk1.6.0\jre\bin\zip.dll
    0x6d560000 - 0x6d573000      C:\Program Files\Java\jdk1.6.0\jre\bin\net.dll
    0x719e0000 - 0x719f7000      C:\WINDOWS\system32\WS2_32.dll
    0x719d0000 - 0x719d8000      C:\WINDOWS\system32\WS2HELP.dll
    0x6d580000 - 0x6d589000      C:\Program Files\Java\jdk1.6.0\jre\bin\nio.dll
    VM Arguments:
    jvm_args: -Xmx1024m -Xms1024m
    java_command: org.metabrick.xbird.client.tools.CommandInvoker -col /xmark import document C:\Software\xmark\xmark100.xml
    Launcher Type: SUN_STANDARD
    Environment Variables:
    JAVA_HOME=C:\Program Files\Java\jdk1.6.0
    PATH=C:\Program Files\Java\jdk1.6.0\bin;D:\Software\maven-1.0.2\bin;D:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\Software\apache-ant-1.6.5\bin;C:\ghc\ghc-6.4.2\bin;C:\Program Files\QuickTime\QTSystem\
    USERNAME=yui
    OS=Windows_NT
    PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 4, GenuineIntel
    --------------- S Y S T E M ---------------
    OS: Windows XP Build 2600 Service Pack 2
    CPU:total 2 family 15, cmov, cx8, fxsr, mmx, sse, sse2, ht
    Memory: 4k page, physical 2096404k(108924k free), swap 3511144k(1471688k free)
    vm_info: Java HotSpot(TM) Client VM (1.6.0-beta2-b86) for windows-x86, built on Jun 2 2006 00:36:31 by "java_re" with unknown MS VC++:1310

    The following is the error that I got with using JDK 1.5.
    # An unexpected error has been detected by HotSpot Virtual Machine:
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00b8c9f8, pid=4024, tid=1608
    # Java VM: Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode)
    # Problematic frame:
    # J org.metabrick.xbird.util.collections.Int2LongHash$Int2LongLRUMap$ChainedEntry.recordRemoval(Lorg/metabrick/xbird/util/collections/Int2LongHash;)V
    --------------- T H R E A D ---------------
    Current thread (0x00036190): JavaThread "main" [_thread_in_Java, id=1608]
    siginfo: ExceptionCode=0xc0000005, writing address 0xfa424094
    Registers:
    EAX=0x00040e40, EBX=0xfa424078, ECX=0x05bd3fc0, EDX=0x05bd3fc0
    ESP=0x0007f578, EBP=0x0007f590, ESI=0xfa424078, EDI=0x081c8168
    EIP=0x00b8c9f8, EFLAGS=0x00010203
    Top of Stack: (sp=0x0007f578)
    0x0007f578: 081c1fa8 6d7d1061 022dd1c8 00000000
    0x0007f588: 00000200 00000200 0007f5c8 00b8c598
    0x0007f598: 0899f428 05bd3fc0 00000200 00000000
    0x0007f5a8: 0007f5c8 00b41018 00000200 000001cb
    0x0007f5b8: 05c50338 05c19448 05bd3fc0 000001a8
    0x0007f5c8: 0007f648 00b8b880 07dd565c 0899f428
    0x0007f5d8: 022dd1cb 00000000 08976190 00b8054c
    0x0007f5e8: 00001000 0000af89 00001000 6d7d1061
    Instructions: (pc=0x00b8c9f8)
    0x00b8c9e8: 89 5f 20 c1 e8 09 c6 80 00 a9 6c 48 00 8b 72 20
    0x00b8c9f8: 89 7e 1c c1 ee 09 c6 86 00 a9 6c 48 00 8b e5 5d
    Stack: [0x00040000,0x00080000), sp=0x0007f578, free space=253k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    J org.metabrick.xbird.util.collections.Int2LongHash$Int2LongLRUMap$ChainedEntry.recordRemoval(Lorg/metabrick/xbird/util/collections/Int2LongHash;)V
    J org.metabrick.xbird.util.collections.Int2LongHash.remove(I)J
    J org.metabrick.xbird.util.collections.Int2LongHash$Int2LongLRUMap.addEntry(IIJLorg/metabrick/xbird/util/collections/Int2LongHash$BucketEntry;)V
    J org.metabrick.xbird.util.collections.Int2LongHash.put(IJ)J
    J org.metabrick.xbird.xquery.util.StringChunk.storeCharChunk([CII)J
    J org.metabrick.xbird.xquery.util.StringChunk.store([CII)J
    J org.metabrick.xbird.xquery.dm.dtm.BigDocumentTable.setTextAt(J[CII)J
    J org.metabrick.xbird.xquery.dm.dtm.DocumentTableBuilder.createTextNode()V
    J org.metabrick.xbird.xquery.dm.dtm.DocumentTableBuilder.endElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    J com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Lcom/sun/org/apache/xerces/internal/xni/QName;Lcom/sun/org/apache/xerces/internal/xni/Augmentations;)V
    J com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement()I
    J com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Z)Z
    v ~OSRAdapter
    j com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Z)Z+24
    j com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Z)Z+118
    j com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Lcom/sun/org/apache/xerces/internal/xni/parser/XMLInputSource;)V+29
    j com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Lcom/sun/org/apache/xerces/internal/xni/parser/XMLInputSource;)V+9
    j com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Lorg/xml/sax/InputSource;)V+43
    j org.metabrick.xbird.xquery.dm.instance.DocumentTableModel.loadDocument(Ljava/io/InputStream;)V+35
    j org.metabrick.xbird.client.tools.command.ImportDocument.process([Ljava/lang/String;)Z+102
    j org.metabrick.xbird.client.tools.CommandInvoker.executeCommand([Ljava/lang/String;)Z+8
    j org.metabrick.xbird.client.tools.CommandInvoker.run([Ljava/lang/String;)V+66
    j org.metabrick.xbird.client.tools.CommandInvoker.main([Ljava/lang/String;)V+19
    v ~StubRoutines::call_stub
    V [jvm.dll+0x845a9]
    V [jvm.dll+0xd9317]
    V [jvm.dll+0x8447a]
    V [jvm.dll+0x8b44a]
    C [java.exe+0x14c5]
    C [java.exe+0x64dd]
    C [kernel32.dll+0x16fd7]
    --------------- P R O C E S S ---------------
    Java Threads: ( => current thread )
    0x00aa7490 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=1780]
    0x00aa60f0 JavaThread "CompilerThread0" daemon [_thread_blocked, id=3456]
    0x00aa53f8 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2544]
    0x00a96c80 JavaThread "Finalizer" daemon [_thread_blocked, id=856]
    0x00a957e8 JavaThread "Reference Handler" daemon [_thread_blocked, id=816]
    =>0x00036190 JavaThread "main" [_thread_in_Java, id=1608]
    Other Threads:
    0x0003fbd0 VMThread [id=3592]
    0x00ab0e20 WatcherThread [id=3108]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    def new generation total 72576K, used 59965K [0x02ae0000, 0x079a0000, 0x079a0000)
    eden space 64512K, 80% used [0x02ae0000, 0x05d8f7b0, 0x069e0000)
    from space 8064K, 99% used [0x069e0000, 0x071bfff8, 0x071c0000)
    to space 8064K, 0% used [0x071c0000, 0x071c0000, 0x079a0000)
    tenured generation total 967936K, used 451270K [0x079a0000, 0x42ae0000, 0x42ae0000)
    the space 967936K, 46% used [0x079a0000, 0x23251ab0, 0x23251c00, 0x42ae0000)
    compacting perm gen total 8192K, used 5367K [0x42ae0000, 0x432e0000, 0x46ae0000)
    the space 8192K, 65% used [0x42ae0000, 0x4301dfb0, 0x4301e000, 0x432e0000)
    No shared spaces configured.
    Dynamic libraries:
    0x00400000 - 0x0040c000      C:\Program Files\Java\jdk1.5.0_06\bin\java.exe
    0x7c940000 - 0x7c9dd000      C:\WINDOWS\system32\ntdll.dll
    0x7c800000 - 0x7c931000      C:\WINDOWS\system32\kernel32.dll
    0x77d80000 - 0x77e29000      C:\WINDOWS\system32\ADVAPI32.dll
    0x77e30000 - 0x77ec1000      C:\WINDOWS\system32\RPCRT4.dll
    0x77bc0000 - 0x77c18000      C:\WINDOWS\system32\MSVCRT.dll
    0x6d6e0000 - 0x6d874000      C:\Program Files\Java\jdk1.5.0_06\jre\bin\client\jvm.dll
    0x77cf0000 - 0x77d7f000      C:\WINDOWS\system32\USER32.dll
    0x77ed0000 - 0x77f17000      C:\WINDOWS\system32\GDI32.dll
    0x76af0000 - 0x76b1b000      C:\WINDOWS\system32\WINMM.dll
    0x762e0000 - 0x762fd000      C:\WINDOWS\system32\IMM32.DLL
    0x60740000 - 0x60749000      C:\WINDOWS\system32\LPK.DLL
    0x73f80000 - 0x73feb000      C:\WINDOWS\system32\USP10.dll
    0x6d2f0000 - 0x6d2f8000      C:\Program Files\Java\jdk1.5.0_06\jre\bin\hpi.dll
    0x76ba0000 - 0x76bab000      C:\WINDOWS\system32\PSAPI.DLL
    0x6d6b0000 - 0x6d6bc000      C:\Program Files\Java\jdk1.5.0_06\jre\bin\verify.dll
    0x6d370000 - 0x6d38d000      C:\Program Files\Java\jdk1.5.0_06\jre\bin\java.dll
    0x6d6d0000 - 0x6d6df000      C:\Program Files\Java\jdk1.5.0_06\jre\bin\zip.dll
    0x6d530000 - 0x6d543000      C:\Program Files\Java\jdk1.5.0_06\jre\bin\net.dll
    0x719e0000 - 0x719f7000      C:\WINDOWS\system32\WS2_32.dll
    0x719d0000 - 0x719d8000      C:\WINDOWS\system32\WS2HELP.dll
    0x6d550000 - 0x6d559000      C:\Program Files\Java\jdk1.5.0_06\jre\bin\nio.dll
    VM Arguments:
    jvm_args: -Xmx1024m -Xms1024m -ea
    java_command: org.metabrick.xbird.client.tools.CommandInvoker -col /xmark import document C:\Software\xmark\xmark100.xml
    Launcher Type: SUN_STANDARD
    Environment Variables:
    JAVA_HOME=C:\Program Files\Java\jdk1.6.0
    PATH=C:\Program Files\Java\jdk1.6.0\bin;D:\Software\maven-1.0.2\bin;D:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\Software\apache-ant-1.6.5\bin;C:\ghc\ghc-6.4.2\bin;C:\Program Files\QuickTime\QTSystem\
    USERNAME=yui
    OS=Windows_NT
    PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 4, GenuineIntel
    --------------- S Y S T E M ---------------
    OS: Windows XP Build 2600 Service Pack 2
    CPU:total 2 family 15, cmov, cx8, fxsr, mmx, sse, sse2, ht
    Memory: 4k page, physical 2096404k(370660k free), swap 3511144k(1545452k free)
    vm_info: Java HotSpot(TM) Client VM (1.5.0_06-b05) for windows-x86, built on Nov 10 2005 11:12:14 by "java_re" with MS VC++ 6.0

  • Compiling *.java for cfinvoke

    I'm trying to connect to a web service that uses
    complex-within-complex data types for its parameter.
    I am constantly getting errors trying to invoke the web
    service and it has been recommended by someone on this list (Mr.
    Andreyev) that I do the following:
    1. Use wsdl2java tool (CF_HOME/runtime/bin) supplying URL to
    webservice WSDL to create java code.
    2. Create java classes by compiling java code created in step
    1
    3. Create jar file(s) from classes in step 2
    4. Put jar file in CF classpath or just copy it to
    CF_HOME/lib directory
    5. Using <cfscript> create required objects, arrays and
    other arguments and supply them to web service method call.
    This is not as simple as it sounds (well, not to someone
    who's only interaction with java is in a cup).
    1. Use wsdl2java tool (CF_HOME/runtime/bin) tsupplying URL to
    webservice WSDL to create java code.
    This has been done. The tool created a series of subfolders
    under C:\CFusionMX7\runtime\bin which ends in a folder called
    schema
    Inside schema are six other folders that each contain 1 and
    111 .java files
    [EDIT] I think I have part of the problem worked out.
    2. Create java classes by compiling java code created in step
    1
    This has not been done.
    My command line in javac is: javac @filename -verbose -source
    1.4
    I get a total of 100 errors and 33 warnings
    All the errors are on this theme:
    C:\CFusionMX7\runtime\bin\...\AccommodationRoomT
    ype.java:10: package org.apache.axis.encoding does not exist
    public class AccommodationRoomType implements
    java.io.Serializable, org.apache.
    axis.encoding.SimpleType {
    The common theme in the error messages is:
    package org.apache.axis.something does not exist
    Am I not using javac correctly or is it just battling to
    compile the code generated by wsdl2java?
    Thanks
    Neal

    Hi there Mr. Andreyev
    [EDIT]. You are a prince amongst men, sir. All .class files
    have been created
    This version of your line worked
    javac -source 1.4 -deprecation -classpath
    C:/CFusionMX7/lib/axis.jar;C:/CFusionMX7/lib/xml-apis.jar;C:/CFusionMX7/lib/saaj.jar;C:/C FusionMX7//lib/jaxrpc.jar;.
    @C:/CFusionMX7/runtime/bin/au/com/qantas/www/schema/allfiles.txt
    It threw
    warnings, not
    errors. I was reading them as the same thing.
    Thank you for your kind assistance. On to step 3!
    [END EDIT]
    Using the command line as you suggested threw up a new set of
    errors but I think I know what is causing them.
    The first time I tried your script I modified it as follows:
    javac -deprecation -classpath
    C:/CFusionMX7/lib/axis.jar;C:/CFusionMX7/lib/xml-apis.jar;C:/CFusionMX7/lib/saaj.jar;C:/C FusionMX7//lib/jaxrpc.jar;.
    C:/CFusionMX7/runtime/bin/au/com/qantas/www/schema/aCalypsoV1/*.java
    Note that there is a space between the period (.) and the
    start of the path to the java files.
    On running this i received back many many error messages
    pointing out that
    "as of release 5, 'enum' is a keyword, and may not be used as
    an identifier (use -source 1.4 or lower to use 'enum' as an
    identifier)"
    I then modified your line as follows
    javac -source 1.4 -deprecation -classpath
    C:/CFusionMX7/lib/axis.jar;C:/CFusionMX7/lib/xml-apis.jar;C:/CFusionMX7/lib/saaj.jar;C:/C FusionMX7//lib/jaxrpc.jar;.
    C:/CFusionMX7/runtime/bin/au/com/qantas/www/schema/aCalypsoV1/*.java
    This also gave me a bunch of errors in the vein of:
    "C:\CFusionMX7\runtime\bin\au\com\qantas\www\schema\aCalypsoV1\ContactDetails.jav
    a:38: package au.com.qantas.www.schema.CustomersV1 does not
    exist
    public void
    setEmailAddress(au.com.qantas.www.schema.CustomersV1.EmailAddres
    s emailAddress) {"
    The .java files that were created by wsdl2java were grouped
    into six folders under /www/schema
    Every error message references one of these other folders. It
    looks like the compiler is trying to reference them.
    I have these folders:
    www/schema/aCalypsoV1
    www/schema/AmadeusBookingsV1
    www/schema/ChannelsV1
    www/schema/CustomersV1
    www/schema/FinancialsV1
    www/schema/ReferenceV1
    I tried creating a text file with an absolute path to every
    single .java file in those six files in it (naming it
    www/schema/allfiles.txt) and modifying your script as follows:
    javac -source 1.4 -deprecation -classpath
    C:/CFusionMX7/lib/axis.jar;C:/CFusionMX7/lib/xml-apis.jar;C:/CFusionMX7/lib/saaj.jar;C:/C FusionMX7//lib/jaxrpc.jar;.
    @C:/CFusionMX7/runtime/bin/au/com/qantas/www/schema/allfiles.txt
    This threw a set of errors in this theme
    C:\CFusionMX7\runtime\bin\au\com\qantas\www\schema\ChannelsV1\Channel.java:32:
    w
    arning: as of release 5, 'enum' is a keyword, and may not be
    used as an identifi
    er
    (use -source 5 or higher to use 'enum' as a keyword)
    Using -source 1.4 throws errors saying use source 5 or higher
    Using -source 5 or leaving it out altogether says use source
    1.4
    I am stuck.

  • When is String literal pool created compile time or runtime?

    When is String literal pool created compile time or runtime?

    I have replied to your question in the other thread related to the string pool:
    http://forum.java.sun.com/thread.jsp?forum=31&thread=276893
    Pierre

  • Compiling Java Program thro EXEC

    hi..
    I want to compile java programs programatically. I am using exec for that. The problem is there is a error in the i am no getting any message from that Process .will u help me how to solve this
    URGENT
    pyari
    Code Snippet
              try
                                  String command = "cmd /c javac -classpath c:\\j2ee\\home\\ejb.jar -d "+
                                  "c:\\javapr~1\\WeblogicEJBComplier\\tempBuild "+
                                  "C:\\j2ee\\home\\demo\\ejb\\cart\\CartClient.java";
         System.out.println(command);
         Runtime rnt = Runtime.getRuntime();
                                  Process prs = rnt.exec(command);
                                  BufferedReader bfr = new BufferedReader(new InputStreamReader(prs.getInputStream()));
                                  String str = bfr.readLine();
                                  System.out.println(str);
                                  while(str!=null)
                                       System.out.println(str) ;
                                       str = bfr.readLine();
              }catch(Exception eo)
                   System.err.println(eo);

    javac writes the errors in stderr, not in stdout.
    So replace getInputStream() with getErrorStream()...

  • HELP for Compile java programe !

    Hello All,
    i want to make java programe by which i can compile java programes
    and when i compile java programe from my programe then
    i shoul get compiled status means programe compile successfuly
    or not compile.
    if any example i m thanksfull.
    onlyforjava.

    how about if compile fail?
    the process obj seems return value 0 as it run successful.
    I haven't try this, but I have experienced the process obj returns 0 if the executed command has some routine to handle error cases, in which, error will not halt the system.
    So, I recommand the following scenario.
    1. let say, if your java is test.java. check the existence of file test.class.
    If, it exists, get its modified time.
    2. compile the java code with
    Procress p = Runtime.exec(new String[]{"javac", "test.java"});
    3. get the error string if any.
    InputStream in = new BufferedInputStream(p.getInputStream());int read;while ((read = in.read()) != -1){  System.out.println((char)read);}
    4. handle error with the exitValue
    if (p.exitValue() != 0){  System.out.println("warning.");}
    5. check again the file test.class if it is a newly created file.
    6. if it is newly created, compile success. Else, failed.

  • Compile mxml at runtime

    I'm looking for ways to load MXML code at runtime and compile it at runtime within Flex application (web or Air).  The MXML code may exist on disk, in memory, or be created by the actively running Flex application.  Upon a user event, like a button click, the MXML code (and possibly associated .as files) get compiled and are now usable by the application.  Is this possible?

    Not unless you want to write your own MXML and ActionScript compiler in ActionScript. You could, however, call out to a Java server and call mxmlc, since that's written in Java.

  • Is java.util.Runtime singleton

    Hi,
    Is java.util.Runtime a Singleton class ?
    -Shishir

    \j2sdk1.4.2\jre\lib\rt.jar
    GoF was copyrighted in 1995.
    Java was released in March of 1995. And Runtime wasin it.
    It is a singleton, it just wasn't based on thepattern, largely because the pattern didn't exist
    yet. Sort of...
    OK.
    But when did \j2sdk1.4.2\jre\lib come out? ( :-D,
    I've no memory for date)
    From the Decompiled code,
    can we now safely say it's based upon Singleton
    pattern? for \j2sdk1.4.2\jre\lib?
    What are you talking about?
    Runtime existed in java 1.0. It is pointless to discuss what is in 1.4.2 in this context.
    Do you mean there is no conclusive evidence for
    Singleton pattern?Huh?
    I suspect you do not understand the intent of patterns in GoF.
    Patterns in GoF were not added unless there was existing functionality at the time that supported the contention that a pattern existed and was being used.
    Just because someone doesn't use the GoF book doesn't mean that they are not creating code that uses the patterns that the GoF book collected.
    Likewise I can write a compiler without ever having read the Dragon book.
    So despite the likelyhood that Runtime was not developed using GoF that does not mean that it isn't a singleton.

  • Dynamically Create and Compile Java Classes

    Hi,
    I have a requirement to dynamically create and compile Java classes and would like some advice on the best method to do so.
    Basically the project I am working on involves creating "Factors". Factors are items that have both attributes and weights so for example Factor A could have attribute B with weight 0.76, and attribute C with weight 1.33. There are a number of methods common to all factors such as calculateTotal, identify etc etc.
    At the moment the application has 5 factors, but there is a requirement to dynamically add and remove factors on the fly.
    I current solution I have been considering is using XML to describe the new class, build up the class and compile it; something along the lines of what is descibed at
    http://www.javaworld.com/javaworld/jw-02-2002/jw-0201-xslt_p.html
    however i would like to consider all options.
    Any help with this is greatly appreciated.

    You want to dynamically create and compile Java classes.
    I would try the following:
    (1) Write the Source code of the new class into a text file with the name MyNewClass.java
    (2) compile this new .java-file with Runtime r = getRuntime();
    try {
        r.exec ("javac MyNewClass.java");
    } catch (IOException e) {
        System.out.println("ooops " + e.getMessage());
    } (3) somehow try to load that new class, maybe using ClassLoader cl = ClassLoader.getSystemClassLoader();
    cl.loadClass("MyNewClass");

  • "Error while registering the Java 2 Runtime Environment registry keys"

    "Error while registering the Java 2 Runtime Environment registry keys"
    I am getting the above error when trying to install the 1.3 JRE (installed with the 1.3 plug in which I need). As part of my development I have been installing and uninstalling the JRE multiple times. Then, I got the above error when trying to install it, and now it appears to be installed but I cannot uninstall it. When I try to uninstall it, it just remains, and when I try to install it again I get the above error. I have tried cleaning up all javasoft registry entries, but it doesnt seem to have helped. Can anyone help me either completely uninstall the JRE so I can do a clean install or help me get rid of the error above when I install. Is there some registry entries I should be looking at? Anything else? this is quite urgent as I need to test my applet with the plugin installed and not installed - and I currently cant uninstall it. Any ideas?
    Thanks for your help
    Aaron

    I am getting this same error message when trying to upgrade from 1.3.1_03 to 1.3.1_19.
    I have multiple versions of jre's and jdks on my machine.
    Anyone else seen this problem or know how to resolve it.

  • Java Proxy Runtime:  failure to locate proxy bean on inbound call

    Hello gurus of the SDN,
    I have been trying to get an inbound Java Proxy scenario to work in XI 3.0 but have not been able to get the JPR to recognize my generated and deployed java code.  My scenario is set up to call the java proxies generated from a message interface based on the MATMAS Idoc.  I successfully deployed the generated java proxies on the same host box as is running the XI instance.  The objects are named as follows
    Message interface on XI = Inbound_MATMAS04
    Generated proxy bean = Inbound_MATMAS04_PortTypeBean
    Implementing class = InboundMATMAS04_PortTypeImpl
    Implementing method = inboundMATMAS04
    I used the JPR transport servlet to register the interface and implementing class but am not sure if I did this correctly.  I used the following entry in my web browser:
    http://nadcp786:50000/ProxyServer/register?
    ns=urn:xiTrainingLabs:groupXX:SAP&
    interface=InboundMATMAS04&
    bean=InboundMATMAS04_PortTypeImpl&
    method=inboundMATMAS04
    I also tried using the localejb/ prefix for the bean name in the above step since the code is co-located.  When I trigger the scenario, the Idoc info is passed into XI and the Java Proxy Runtime is called, but I get the following error response back in the SOAP header:
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="PARSING">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Cannot locate proxy bean InboundMATMAS04_PortTypeImpl: com.sap.aii.proxy.xiruntime.core.XmlInboundException: Cannot locate proxy bean InboundMATMAS04_PortTypeImpl</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Finally, appended at the end of this post is the audit log of the messaging system showing that the JPR is called but without being able to locate the bean.  I think I am missing a configuration step somewhere, but can’t figure out what it is!!  Can anyone help me? 
    Many thanks in advance.
    Regards,
    Nick Simon
    Time Stamp     Status     Description
    2004-10-25 19:47:32     Success     The message was successfully received by the messaging system. Profile: XI URL: http://nadcp786.bcsdc.lexington.ibm.com:50000/MessagingSystem/receive/JPR/XI
    2004-10-25 19:47:32     Success     Using connection JPR. Trying to put the message into the receive queue.
    2004-10-25 19:47:32     Success     The message was successfully retrieved from the receive queue.
    2004-10-25 19:47:32     Success     The message status set to DLNG.
    2004-10-25 19:47:32     Success     Java proxy runtime (JPR) accepted the message
    2004-10-25 19:47:34     Error     JPR could not process the message. Reason: Cannot locate proxy bean localejbs/InboundMATMAS04_PortTypeImpl
    2004-10-25 19:47:34     Error     Delivery of the message to the application using connection JPR failed, due to: Cannot locate proxy bean localejbs/InboundMATMAS04_PortTypeImpl.
    2004-10-25 19:47:34     Error     The message status set to FAIL.
    2004-10-25 19:47:34     Error     Asynchronous error detected: Cannot locate proxy bean localejbs/InboundMATMAS04_PortTypeImpl. Trying to report it.
    2004-10-25 19:47:34     Error     Asynchronous error reported.
    Message was edited by: Nicholas Simon

    Hi
    How do you determine the JNDI naming of the a EJB?
    I have following entry in JNDI directory in the root
    Object Name FlightQueryIn
    Class Name javax.naming.Reference
    Context Name 
    Object Value Reference Class Name:
    Type: clientAppName
    Content: sap.com/JavaProxyEAR
    Type: interfaceType
    Content: remote
    Type: home
    Content: com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundHome4
    Type: ejb-link
    Content: FlightSeatAvailabilityQueryIn_PortTypeBean
    Type: jndi-name
    Content: FlightQueryIn
    Type: remote
    Content: com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundRemote4
    I tried to register the bean with JPR using:
    http://ctsapxid01:50100/ProxyServer/register?ns=http://sap.com/xi/XI/Demo/Airline&interface=FlightSeatAvailabilityQuery_In&bean=FlightQueryIn&method=flightSeatAvailabilityQueryIn
    I followed the following blog
    http://wiki.sdn.sap.com/wiki/display/Java/JavaProxyChangesinPI7.1fromPI7.0
    Thanks,
    Chris

  • Java SE Runtime Environment 5.0u22 will not install on Windows 98SE

    Hi,
    I know, its no longer supported.
    As I understand, Java SE Runtime Environment 5.0u22 is the last SE Runtime that works with Windows 98SE and, if so, I need to install on a Windows 98SE computer.
    This Windows 98SE machine currently has Java 2 Runtime Environment, Standard Edition 5.0 for Windows installed on it.
    Downloaded jre-1_5_0_22-windows-i586-p.exe (offline installer version) from Sun, and when I click on this file it invokes my 56K dialer - once online, nothing happens, no HDD activity, no modem lights, nothing - and I do not get any error messages.
    If I choose to cancel the dialer, again, nothing happens, no HDD activity, no modem lights, nothing - and I do not get any error messages.
    I checked my MSI.DLL file and it is version 2.0.2600.2 - which is consistent with the installation requirements detailed here . . . http://www.oracle.com/technetwork/java/javase/install-windows-139179.html#installer2.0
    I ran a few Googles, but did not find any help.
    A few words of encouragement and suggestions of how to accomplish this install are sincerely appreciated.
    Many thanks,
    CurlySue

    Well, its been 10 days and no replies.
    Bummer.
    Guess there are no longer any JSE 5.0 experts online.
    Pity.
    CS

  • Error Message 1316 while uninstalling Java 2 Runtime Env SE v1.4.2_03msi

    I recently updated to Java 10 while in the process of clearing some nasty virus/malware off my system. I worked with a tech guide to do the clean up. He told me to uninstall old updates, including Java 2 Runtime Environment, SE v1.4.2_03. In the process, I got this error message:
    Error 1316 - A network error occurred while attempting to read from file C:\WINDOWS\Installer\Java 2 Runtime Environment, SE v1.4.2_03msi.
    then I clicked OK to continue and got a Fatal Error at the end and the uninstall was unsuccessful.
    The tech guide told me that "hackers can use script to infect you via these old versions." The virus/malware we caught was spyware and serious. I'm serious about getting clean... any advice please?
    Thanks -
    BirdieKaie

    Update 10. As in "C:\Program Files\Java\jre1.5.0_09\ <<< Java just updated to 10, update your version please."

Maybe you are looking for