XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
(Deleted User) Subject: Compilation error
Author: (Deleted User)
Date: 22 Jun 2007 12:28 AM
Originally Posted: 22 Jun 2007 12:23 AM
I have a Java compile error which seems to be due to a Java version mismatch. Being unfamilar with Java versioning problems, I would appreciate some help on this, please.

Scenario:
A simple SS project using a Stylus Studio sample XSD (purchaseOrder.xsd); generated the Java binding classes (successful); compiled these Java classes through the SS UI.

The error message (in part) -

---
Main.java
c:\Validation of XML with XSD\StylusStudio\purchaseOrder\Main.java:8: cannot access java.io.FileInputStream
bad class file: C:\Program Files\Java\jre1.5.0_08\lib\rt.jar(java/io/FileInputStream.class)
class file has wrong version 49.0, should be 48.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
import java.io.FileInputStream;
^
1 error
---

The JRE versions I have installed (under C:\Program Files\Java\ ) are -
JRE 1.5.0_03
JRE 1.5.0_08
JRE 1.4.2_06

Also, I have a JDK (1.4.2_06) installed at C:\j2sdk1.4.2_06\

Does this mean that it is necessary for me to remove the 1.4.2 JDK, and install a JDK version that matches the latest JRE that is installed?

Why I phrase the question this way is that I have just now permitted Sun's auto-downloader to install a patch, which turned out to be a new JRE (1.6.0_01) at C:\Program Files\Java\jre1.6.0_01\

So, should I remove JDK 1.4.2 (and install the 1.6.0_01 JDK), or modify a path (within Stylus Studio) so that the error shown above doesn't happen?

If the latter, how do I do that - and is that on a per-Project basis or is it an option setting in SS?

Attached 22Kb .ZIP contains output from the genration and compilation, the XSD, the .PRJ, and some notes.

Ian


UnknownpurchaseOrder_GenerateJavaBC.zip
TestProject ZIP - #2 - Compilation error

Postnext
(Deleted User) Subject: Compilation error
Author: (Deleted User)
Date: 22 Jun 2007 03:17 AM
Update: A Java auto-update was permitted, and JRE 1.6.0_01 installed.

Removed JDK 1.4.2_06; installed JDK 1.4.2_14 (latest of that vintage); with SS, re-generated and re-compiled the simple XSD.

Same error (uses the rt.jar from jre1.6.0_01 this time)

---
Compiling...
Main.java
c:\Validation of XML with XSD\StylusStudio\purchaseOrder\Main.java:8: cannot access java.io.FileInputStream
bad class file: C:\Program Files\Java\jre1.6.0_01\lib\rt.jar(java/io/FileInputStream.class)
class file has wrong version 49.0, should be 48.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
import java.io.FileInputStream;
^
1 error
---

I make no progress.

Ian

Postnext
Ivan PedruzziSubject: Compilation error
Author: Ivan Pedruzzi
Date: 22 Jun 2007 07:41 AM




You have conflicting versions of JRE/JDK configured in Stylus Studio.

Go to Tools -> Options -> General -> Java Virtual Machine and select 1.4.x for both JRE and JDK then restart Stylus Studio.

to compile all binding classes right click on the project folder called purchaseOrder then click compile

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
(Deleted User) Subject: Compilation error
Author: (Deleted User)
Date: 22 Jun 2007 08:52 AM
Originally Posted: 22 Jun 2007 07:55 AM
Ivan, that is exactly what I couldn't find.

(and I believed it to be fixed immediately, of course.)

I love that autodetection.

I have aligned the versions to 1.4.2_14, closed SS and then restarted.

Checking the Options > JVM after restart, they are exactly as set.

Enable JVM: checked
params: -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001

JDK
jvac params: -g

External JVM
parms: blank
Debugging params: -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=${AutoDetect}

So that looks right.

But now I have another error.

----
Launching "C:\Program Files\Java\j2re1.4.2_14\bin\java.exe" -jar "C:\Program Files\Stylus Studio 2007 XML Enterprise Suite Release 2\bin\lib\jaxb\jaxb\lib\jaxb-xjc.jar" -d <outputDirectory> -p purchaseOrder "file:///c:/Validation of XML with XSD/StylusStudio/purchaseOrder.xsd"...
xjc version "1.0.5-b16-fcs"
JavaTM Architecture for XML Binding(JAXB) Reference Implementation, (build 1.0.5-b16-fcs)


parsing a schema...
java.lang.NoSuchMethodError: javax.xml.parsers.DocumentBuilderFactory.getSchema()Ljavax/xml/validation/Schema;
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.<init>(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)
at com.sun.tools.xjc.reader.internalizer.DOMForest.<init>(DOMForest.java:79)
at com.sun.tools.xjc.GrammarLoader.buildDOMForest(GrammarLoader.java:278)
at com.sun.tools.xjc.GrammarLoader.loadXMLSchema(GrammarLoader.java:356)
at com.sun.tools.xjc.GrammarLoader.load(GrammarLoader.java:127)
at com.sun.tools.xjc.GrammarLoader.load(GrammarLoader.java:76)
at com.sun.tools.xjc.Driver.run(Driver.java:181)
at com.sun.tools.xjc.Driver._main(Driver.java:80)
at com.sun.tools.xjc.Driver.access$000(Driver.java:46)
at com.sun.tools.xjc.Driver$1.run(Driver.java:60)
Exception in thread "main"
Error executing command line
----

That just does not make sense to me. I expected alignment of the JVM (JRE) and the JDK would generate code OK, and then I could just compile that (ie, that the compiler would accept it).

What I find is that code generation fails with JVM (JRE) 1.4.2_14.

However, the code generation WILL succeed if the JVM version is set to something higher than v1.4.2_14 - I set it to the highest I have installed, which is 1.6.0_01 (when I started this thread I had JRE v1.5.0_08 installed, and the JDK that I installed was 1.4.2_06).

My current available JRE versions are shown in an attachment.

I removed JDK 1.4.2_06 and installed JDK 1.4.2_14. That is the only JDK I have installed.

OK, I got the code genrated. Next, see if that will compile.

So, I set the JVM (JRE) and the JDK to align at 1.4.2_14 - and quit / restarted SS, then ran the compile on Main.java.

Now the compilation succeeds.

The ZIP attached contains code generation output messages -
Generate4.txt (failed, JRE was 1.4.2_14)
Generate5.txt (succeeded, JRE was 1.6.0_01)
compilation output message -
Compile5.txt (succeeded, both JVM and JDK aligned to 1.4.2_14)
also screenshots of the Options > Java Virtual machine settings.

This doesn't make sense to me.

Ian


UnknownOptions-JVM-JDKpuzzle.zip
Puzzle - JRE and JDK version alignment

Posttop
(Deleted User) Subject: Compilation error
Author: (Deleted User)
Date: 25 Jun 2007 10:51 PM
I can't understand why this apparent malfunction should occur - or, why other users have not encountered it.

Is it just that other users have never had Sun's autoupdater ask to upgrade the JRE, which can cause this disparity / mismatch in the installed JRE and JDK on their systems?

Is the only remedy to remove older JDK versions, or to remove newer JRE versions?

The SS options led me to believe that this is not a problem: that SS is smart enough to "work it out".

Conversely, I should have expected Java mismatches (the same does occur in .NET)

Ian

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.