[
https://issues.apache.org/jira/browse/DERBY-5485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13138413#comment-13138413
]
Rick Hillegas commented on DERBY-5485:
--------------------------------------
I am working on a candidate patch. With this patch I can build Derby
successfully in the following environments:
o Oracle JDK 6 and 7 on Mac OS X
o Oracle JDK 6 and 7 on Ubuntu
o IBM JDK 6 and 7 on Ubuntu
The patch tries to set the compile classpath by wiring together all of the jars
in a system directory or directories. For all of the platforms above except for
IBM JDK 7, it was sufficient to find the directory which contains the jar file
which contains java.lang.String. However, this was not good enough for IBM JDK
7. For that platform, I also had to add the jars in the directory which
contains the jar file which contains java.util.Vector. It appears that the IBM
JDK 7 splits the system classes across jar files in more than one
directory--unlike all of the other JDKs above.
I am also unable to build the Derby javadoc using IBM JDK 7. I see the
following error. This may be a problem in how I am constructing the classpath.
[javadoc]
/mac-home/ubuntu-home/sw-ubuntu/java/ibm/ibm-java-sdk-7.0-0.0-i386/jre/lib/jlm.src.jar(com/ibm/lang/management/MemoryMXBeanImpl.java):53:
error: cannot access MemoryMXBean
[javadoc] MemoryMXBean, NotificationEmitter {
[javadoc] ^
[javadoc] bad source file:
/mac-home/ubuntu-home/sw-ubuntu/java/ibm/ibm-java-sdk-7.0-0.0-i386/jre/lib/jlm.src.jar(com/ibm/lang/management/MemoryMXBean.java)
[javadoc] file does not contain class com.ibm.lang.management.MemoryMXBean
[javadoc] Please remove or make sure it appears in the correct
subdirectory of the sourcepath.
[javadoc]
/mac-home/ubuntu-home/sw-ubuntu/java/ibm/ibm-java-sdk-7.0-0.0-i386/jre/lib/jlm.src.jar(com/ibm/lang/management/OperatingSystemMXBeanImpl.java):29:
error: cannot access OperatingSystemMXBean
[javadoc] implements OperatingSystemMXBean, NotificationEmitter {
[javadoc] ^
[javadoc] bad source file:
/mac-home/ubuntu-home/sw-ubuntu/java/ibm/ibm-java-sdk-7.0-0.0-i386/jre/lib/jlm.src.jar(com/ibm/lang/management/OperatingSystemMXBean.java)
[javadoc] file does not contain class
com.ibm.lang.management.OperatingSystemMXBean
[javadoc] Please remove or make sure it appears in the correct
subdirectory of the sourcepath.
> Simplify PropertySetter so that it is less brittle and easier to maintain.
> --------------------------------------------------------------------------
>
> Key: DERBY-5485
> URL: https://issues.apache.org/jira/browse/DERBY-5485
> Project: Derby
> Issue Type: Improvement
> Components: Build tools
> Affects Versions: 10.9.0.0
> Reporter: Rick Hillegas
>
> The PropertySetter task sets up classpath variables so that the build can
> take advantage of JVM-specific class libraries. Using those libraries makes
> it possible for the compiler to flag code which is supposed to run on less
> capable platforms but which calls methods from later JVMs. This is a very
> tricky problem and we seem to have reached consensus that it requires too
> much effort to make PropertySetter run correctly in all of the build
> environments which Derby developers use. I will attach a proposal for how to
> simplify PropertySetter so that it requires less effort to maintain.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira