Changeset 1196
- Timestamp:
- 08/26/10 16:27:13 (18 months ago)
- Location:
- trunk/docx4j
- Files:
-
- 5 edited
-
build.xml (modified) (2 diffs)
-
pom.xml (modified) (5 diffs)
-
src/main/java/org/docx4j/jaxb/Context.java (modified) (2 diffs)
-
src/main/java/org/docx4j/jaxb/NamespacePrefixMapperUtils.java (modified) (3 diffs)
-
src/pptx4j/java/org/pptx4j/jaxb/Context.java (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/docx4j/build.xml
r1187 r1196 56 56 <pathelement location="${m2Repository}/org/apache/commons/commons-vfs-patched/1.9.1/commons-vfs-patched-1.9.1.jar"/> 57 57 <pathelement location="${m2Repository}/net/arnx/wmf2svg/0.8.3/wmf2svg-0.8.3.jar"/> 58 59 <pathelement location="${m2Repository}//com/sun/xml/jaxb-NamespacePrefixMapper-interfaces/2.0.0/jaxb-NamespacePrefixMapper-interfaces-2.0.0.jar"/> 58 60 </path> 59 61 <path id="docx4j.classpath"> … … 92 94 <src path="src/xslfo"/> 93 95 <classpath refid="docx4j.classpath"/> 94 <!-- nb, you need JAXB RI, for example, in jre/lib/endorsed -->95 96 </javac> 96 97 -
trunk/docx4j/pom.xml
r1190 r1196 51 51 <source>src/pptx4j/java</source> 52 52 <source>src/svg</source> 53 <!--source>src/sun</source--> 53 54 </sources> 54 55 </configuration> … … 62 63 <target>1.6</target> 63 64 <verbose>false</verbose> 65 <!--<maxmemory>512m</maxmemory>Â Â --> 66 <!-- try to help maven to find package com.sun.xml.internal.bind.marshaller: 67 <bootclasspath>${java.home}/lib/rt.jar</bootclasspath> 68 but this doesn't help 69 --> 64 70 </configuration> 65 71 </plugin> … … 130 136 </dependency> --> 131 137 <!-- stax 1.2.0 grabs 1.0.1(!); jaxb would grab 1.0.2 (where from?) --> 132 138 139 <!-- Uncomment this for Java 5 133 140 <dependency> 134 141 <groupId>javax.xml.bind</groupId> … … 142 149 <version>2.1.3</version> 143 150 144 </dependency> <!-- nothing newer in the repository! --> 151 </dependency> 152 --> 153 <!-- nothing newer in the repository! --> 145 154 146 155 <dependency> … … 378 387 </dependency> 379 388 389 <!-- Ensure both the Java 6 and RI interfaces are present, 390 even if the user has just one. 391 NB: this (or an added source location containing them) is 392 necessary (at least for Maven 2.2.1) since without this, 393 Maven doesn't find the Java 6 copy in rt.jar --> 394 <dependency> 395 <groupId>com.sun.xml</groupId> 396 <artifactId>jaxb-NamespacePrefixMapper-interfaces</artifactId> 397 <version>2.0.0</version> 398 </dependency> 399 400 380 401 </dependencies> 381 402 <distributionManagement> -
trunk/docx4j/src/main/java/org/docx4j/jaxb/Context.java
r1152 r1196 49 49 Class c; 50 50 try { 51 c = Class.forName("com.sun.xml.bind.marshaller.NamespacePrefixMapper"); 52 System.out.println("JAXB: Using RI (or recent Java 6?)"); 53 54 // 2010 07 13 recent versions of Java 6 seem to include 55 // com.sun.xml.bind.marshaller.NamespacePrefixMapper, 56 // so we can't be sure its the RI. 51 c = Class.forName("com.sun.xml.bind.marshaller.MinimumEscapeHandler"); 52 System.out.println("JAXB: Using RI"); 57 53 58 54 } catch (ClassNotFoundException cnfe) { … … 60 56 System.out.println("JAXB: RI not present. Trying Java 6 implementation."); 61 57 try { 62 c = Class.forName("com.sun.xml.internal.bind.marshaller. NamespacePrefixMapper");58 c = Class.forName("com.sun.xml.internal.bind.marshaller.MinimumEscapeHandler"); 63 59 System.out.println("JAXB: Using Java 6 implementation."); 64 60 } catch (ClassNotFoundException e) { -
trunk/docx4j/src/main/java/org/docx4j/jaxb/NamespacePrefixMapperUtils.java
r1184 r1196 8 8 public class NamespacePrefixMapperUtils { 9 9 10 private static Logger log = Logger.getLogger(NamespacePrefixMapperUtils.class); 10 private static Logger log = Logger.getLogger(NamespacePrefixMapperUtils.class); 11 12 /* 13 * As from 2010 08 26, 14 * both com.sun.xml.bind.marshaller.NamespacePrefixMapper 15 * and com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper 16 * are provided in the jar JAXB-NamespacePrefixMapperInterfaces.jar 17 * so that people can build docx4j without needing both JAXB 18 * implementations. 19 * 20 * But if that jar is on their classpath, testing for either 21 * of these classes will always succeed. 22 * 23 * So, we have to test for something else. The following will do: 24 * 25 * com.sun.xml.bind.marshaller.MinimumEscapeHandler 26 * com.sun.xml.internal.bind.marshaller.MinimumEscapeHandler 27 */ 11 28 12 29 … … 15 32 Class c; 16 33 try { 17 c = Class.forName("com.sun.xml.bind.marshaller. NamespacePrefixMapper");34 c = Class.forName("com.sun.xml.bind.marshaller.MinimumEscapeHandler"); 18 35 return new NamespacePrefixMapper(); // JAXB Reference Implementation 19 36 } catch (ClassNotFoundException cnfe) { 20 37 // JAXB Reference Implementation not present 21 38 // Use Java 6 implementation 22 log.info("JAXB RI (com.sun.xml.bind.marshaller. NamespacePrefixMapper) not present. Trying Java 6 implementation.");39 log.info("JAXB RI (com.sun.xml.bind.marshaller.MinimumEscapeHandler) not present. Trying Java 6 implementation."); 23 40 try { 24 c = Class.forName("com.sun.xml.internal.bind.marshaller. NamespacePrefixMapper");41 c = Class.forName("com.sun.xml.internal.bind.marshaller.MinimumEscapeHandler"); 25 42 } catch (ClassNotFoundException e) { 26 43 e.printStackTrace(); … … 37 54 Class c; 38 55 try { 39 c = Class.forName("com.sun.xml.bind.marshaller. NamespacePrefixMapper");56 c = Class.forName("com.sun.xml.bind.marshaller.MinimumEscapeHandler"); 40 57 return new NamespacePrefixMapperRelationshipsPart(); 41 58 } catch (ClassNotFoundException cnfe) { 42 59 // JAXB Reference Implementation not present 43 log.info("JAXB RI (com.sun.xml.bind.marshaller. NamespacePrefixMapper) not present. Trying Java 6 implementation.");60 log.info("JAXB RI (com.sun.xml.bind.marshaller.MinimumEscapeHandler) not present. Trying Java 6 implementation."); 44 61 try { 45 c = Class.forName("com.sun.xml.internal.bind.marshaller. NamespacePrefixMapper");62 c = Class.forName("com.sun.xml.internal.bind.marshaller.MinimumEscapeHandler"); 46 63 } catch (ClassNotFoundException e) { 47 64 e.printStackTrace(); -
trunk/docx4j/src/pptx4j/java/org/pptx4j/jaxb/Context.java
r1096 r1196 45 45 Class c; 46 46 try { 47 c = Class.forName("com.sun.xml.bind.marshaller. NamespacePrefixMapper");47 c = Class.forName("com.sun.xml.bind.marshaller.MinimumEscapeHandler"); 48 48 System.out.println("JAXB: Using RI"); 49 49 } catch (ClassNotFoundException cnfe) { … … 51 51 System.out.println("JAXB: RI not present. Trying Java 6 implementation."); 52 52 try { 53 c = Class.forName("com.sun.xml.internal.bind.marshaller. NamespacePrefixMapper");53 c = Class.forName("com.sun.xml.internal.bind.marshaller.MinimumEscapeHandler"); 54 54 System.out.println("JAXB: Using Java 6 implementation."); 55 55 } catch (ClassNotFoundException e) {
Note: See TracChangeset
for help on using the changeset viewer.
