You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by Michelle Caisse <mc...@sonic.net> on 2012/04/01 23:06:08 UTC

API build failure

With a clean check-out of JDO trunk, using jdk1.7.0_03, I get a build 
error:
[INFO] Compilation failure
could not parse error message: warning: [options] bootstrap class path 
not set in conjunction with -source 1.5
C:\jdoClean\api\src\java\javax\jdo\spi\JDOImplHelper.java:851: warning: 
[unchecked] unchecked call to getConstructor(Class<?>...) as a member of 
the raw type Class
                     keyClass.getConstructor(new Class[]{String.class});
                                            ^

-- Michelle

michelle@michelle-PC /cygdrive/c/jdoClean
$ mvn clean install
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO]   Java Data Objects (JDO)
[INFO]   JDO API
[INFO]   jdo-exectck Maven Mojo
[INFO]   JDO 3 Technology Compatibility Kit
[INFO] 
------------------------------------------------------------------------
[INFO] Building Java Data Objects (JDO)
[INFO]    task-segment: [clean, install]
[INFO] 
------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Setting property: classpath.resource.loader.class => 
'org.codehaus.plexus
.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [remote-resources:process {execution: default}]
[INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
[INFO] [install:install {execution: default-install}]
[INFO] Installing C:\jdoClean\pom.xml to 
C:\Users\michelle\.m2\repository\javax\
jdo\root\3.1-SNAPSHOT\root-3.1-SNAPSHOT.pom
[INFO] 
------------------------------------------------------------------------
[INFO] Building JDO API
[INFO]    task-segment: [clean, install]
[INFO] 
------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [remote-resources:process {execution: default}]
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource to META-INF
[INFO] Copying 1 resource
[INFO] Copying 31 resources
[INFO] Copying 3 resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 146 source files to C:\jdoClean\api\target\classes
[INFO] 
------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] 
------------------------------------------------------------------------
[INFO] Compilation failure
could not parse error message: warning: [options] bootstrap class path 
not set i
n conjunction with -source 1.5
C:\jdoClean\api\src\java\javax\jdo\spi\JDOImplHelper.java:851: warning: 
[uncheck
ed] unchecked call to getConstructor(Class<?>...) as a member of the raw 
type Cl
ass
                     keyClass.getConstructor(new Class[]{String.class});
                                            ^


[INFO] 
------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] 
------------------------------------------------------------------------
[INFO] Total time: 4 seconds
[INFO] Finished at: Sun Apr 01 13:59:15 MST 2012
[INFO] Final Memory: 41M/530M
[INFO] 
------------------------------------------------------------------------

michelle@michelle-PC /cygdrive/c/jdoClean
$ echo $JAVA_HOME
C:\Program Files\Java\jdk1.7.0_03

Re: API build failure

Posted by Michelle Caisse <mc...@sonic.net>.
The patch fixed the problem I reported, but revealed the same issue with 
two files in test. With the following patch, api compiles and builds 
with Java 1.7:

Index: api/src/java/javax/jdo/spi/JDOImplHelper.java

===================================================================

--- api/src/java/javax/jdo/spi/JDOImplHelper.java    (revision 1308201)

+++ api/src/java/javax/jdo/spi/JDOImplHelper.java    (working copy)

@@ -839,7 +839,7 @@

      public static Object construct(String className, String keyString) {
          StringConstructor stringConstructor;
          try {
-            Class keyClass = Class.forName(className);
+            Class<?> keyClass = Class.forName(className);
              synchronized(stringConstructorMap) {
                  stringConstructor =
                          (StringConstructor) 
stringConstructorMap.get(keyClass);
@@ -847,8 +847,8 @@

              if (stringConstructor != null) {
                  return stringConstructor.construct(keyString);
              } else {
-                Constructor keyConstructor =
-                    keyClass.getConstructor(new Class[]{String.class});
+                Constructor<?> keyConstructor =
+                    keyClass.getConstructor(new Class<?>[]{String.class});
                  return keyConstructor.newInstance(new 
Object[]{keyString});
              }
          } catch (JDOException ex) {
Index: api/test/java/javax/jdo/ObjectStateTest.java

===================================================================

--- api/test/java/javax/jdo/ObjectStateTest.java    (revision 1308201)

+++ api/test/java/javax/jdo/ObjectStateTest.java    (working copy)

@@ -215,7 +215,7 @@

      }

      private static Method getDeclaredMethod
-            (Class clazz, String methodName, Class[] parameters) {
+            (Class<?> clazz, String methodName, Class[] parameters) {
          try {
              Method result = clazz.getDeclaredMethod(methodName, 
parameters);
              return result;
Index: api/test/java/javax/jdo/util/BatchTestRunner.java

===================================================================

--- api/test/java/javax/jdo/util/BatchTestRunner.java    (revision 1308201)

+++ api/test/java/javax/jdo/util/BatchTestRunner.java    (working copy)

@@ -111,10 +111,10 @@

                  String msg = null;
                  try {
                      // get class instance
-                    Class clazz = Class.forName(className);
+                    Class<?> clazz = Class.forName(className);
                      // constructor taking PrintStream arg
-                    Constructor ctor = clazz.getConstructor(
-                        new Class[] { PrintStream.class } );
+                    Constructor<?> ctor = clazz.getConstructor(
+                        new Class<?>[] { PrintStream.class } );
                      // create instance
                      return (ResultPrinter)ctor.newInstance(
                          new Object[] { System.out });


-- Michelle

On 4/2/2012 8:01 AM, Craig L Russell wrote:
> Can you try this patch?
>
> Your symptom is probably a bug in JDK 1.7...
>
> Craig
>
> Index: src/java/javax/jdo/spi/JDOImplHelper.java
> ===================================================================
> --- src/java/javax/jdo/spi/JDOImplHelper.java    (revision 1307510)
> +++ src/java/javax/jdo/spi/JDOImplHelper.java    (working copy)
> @@ -839,7 +839,7 @@
>      public static Object construct(String className, String keyString) {
>          StringConstructor stringConstructor;
>          try {
> -            Class keyClass = Class.forName(className);
> +            Class<?> keyClass = Class.forName(className);
>              synchronized(stringConstructorMap) {
>                  stringConstructor =
>                          (StringConstructor) 
> stringConstructorMap.get(keyClass);
> @@ -847,8 +847,8 @@
>              if (stringConstructor != null) {
>                  return stringConstructor.construct(keyString);
>              } else {
> -                Constructor keyConstructor =
> -                    keyClass.getConstructor(new Class[]{String.class});
> +                Constructor<?> keyConstructor =
> +                    keyClass.getConstructor(new 
> Class<?>[]{String.class});
>                  return keyConstructor.newInstance(new 
> Object[]{keyString});
>              }
>          } catch (JDOException ex) {
>
> On Apr 2, 2012, at 12:56 AM, Michael Bouschen wrote:
>
>> Hi Michelle,
>>
>> do you have a JDK1.6 installed and can rebuild the api with JDK1.6? 
>> I'm wondering whether this makes a difference.
>>
>> Regards Michael
>>
>>> With a clean check-out of JDO trunk, using jdk1.7.0_03, I get a 
>>> build error:
>>> [INFO] Compilation failure
>>> could not parse error message: warning: [options] bootstrap class 
>>> path not set in conjunction with -source 1.5
>>> C:\jdoClean\api\src\java\javax\jdo\spi\JDOImplHelper.java:851: 
>>> warning: [unchecked] unchecked call to getConstructor(Class<?>...) 
>>> as a member of the raw type Class
>>>                    keyClass.getConstructor(new Class[]{String.class});
>>>                                           ^
>>>
>>> -- Michelle
>>>
>>> michelle@michelle-PC /cygdrive/c/jdoClean
>>> $ mvn clean install
>>> [INFO] Scanning for projects...
>>> [INFO] Reactor build order:
>>> [INFO]   Java Data Objects (JDO)
>>> [INFO]   JDO API
>>> [INFO]   jdo-exectck Maven Mojo
>>> [INFO]   JDO 3 Technology Compatibility Kit
>>> [INFO] 
>>> ------------------------------------------------------------------------ 
>>>
>>> [INFO] Building Java Data Objects (JDO)
>>> [INFO]    task-segment: [clean, install]
>>> [INFO] 
>>> ------------------------------------------------------------------------ 
>>>
>>> [INFO] [clean:clean {execution: default-clean}]
>>> [INFO] Setting property: classpath.resource.loader.class => 
>>> 'org.codehaus.plexus
>>> .velocity.ContextClassLoaderResourceLoader'.
>>> [INFO] Setting property: velocimacro.messages.on => 'false'.
>>> [INFO] Setting property: resource.loader => 'classpath'.
>>> [INFO] Setting property: resource.manager.logwhenfound => 'false'.
>>> [INFO] [remote-resources:process {execution: default}]
>>> [INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
>>> [INFO] [install:install {execution: default-install}]
>>> [INFO] Installing C:\jdoClean\pom.xml to 
>>> C:\Users\michelle\.m2\repository\javax\
>>> jdo\root\3.1-SNAPSHOT\root-3.1-SNAPSHOT.pom
>>> [INFO] 
>>> ------------------------------------------------------------------------ 
>>>
>>> [INFO] Building JDO API
>>> [INFO]    task-segment: [clean, install]
>>> [INFO] 
>>> ------------------------------------------------------------------------ 
>>>
>>> [INFO] [clean:clean {execution: default-clean}]
>>> [INFO] [remote-resources:process {execution: default}]
>>> [INFO] [resources:resources {execution: default-resources}]
>>> [INFO] Using 'UTF-8' encoding to copy filtered resources.
>>> [INFO] Copying 1 resource to META-INF
>>> [INFO] Copying 1 resource
>>> [INFO] Copying 31 resources
>>> [INFO] Copying 3 resources
>>> [INFO] [compiler:compile {execution: default-compile}]
>>> [INFO] Compiling 146 source files to C:\jdoClean\api\target\classes
>>> [INFO] 
>>> ------------------------------------------------------------------------ 
>>>
>>> [ERROR] BUILD FAILURE
>>> [INFO] 
>>> ------------------------------------------------------------------------ 
>>>
>>> [INFO] Compilation failure
>>> could not parse error message: warning: [options] bootstrap class 
>>> path not set i
>>> n conjunction with -source 1.5
>>> C:\jdoClean\api\src\java\javax\jdo\spi\JDOImplHelper.java:851: 
>>> warning: [uncheck
>>> ed] unchecked call to getConstructor(Class<?>...) as a member of the 
>>> raw type Cl
>>> ass
>>>                    keyClass.getConstructor(new Class[]{String.class});
>>>                                           ^
>>>
>>>
>>> [INFO] 
>>> ------------------------------------------------------------------------ 
>>>
>>> [INFO] For more information, run Maven with the -e switch
>>> [INFO] 
>>> ------------------------------------------------------------------------ 
>>>
>>> [INFO] Total time: 4 seconds
>>> [INFO] Finished at: Sun Apr 01 13:59:15 MST 2012
>>> [INFO] Final Memory: 41M/530M
>>> [INFO] 
>>> ------------------------------------------------------------------------ 
>>>
>>>
>>> michelle@michelle-PC /cygdrive/c/jdoClean
>>> $ echo $JAVA_HOME
>>> C:\Program Files\Java\jdk1.7.0_03
>>
>>
>> -- 
>> *Michael Bouschen*
>> *Prokurist*
>>
>> akquinet tech@spree GmbH
>> Bülowstr. 66, D-10783 Berlin
>>
>> Fon:   +49 30 235 520-33
>> Fax:   +49 30 217 520-12
>> Email: michael.bouschen@akquinet.de
>> Web: www.akquinet.de <http://www.akquinet.de>
>>
>> akquinet tech@spree GmbH, Berlin
>> Geschäftsführung: Martin Weber, Dr. Torsten Fink
>> Amtsgericht Berlin-Charlottenburg HRB 86780 B
>> USt.-Id. Nr.: DE 225 964 680
>
> Craig L Russell
> Architect, Oracle
> http://db.apache.org/jdo
> 408 276-5638 mailto:Craig.Russell@oracle.com
> P.S. A good JDO? O, Gasp!
>
>
>


Re: API build failure

Posted by Craig L Russell <cr...@oracle.com>.
Can you try this patch?

Your symptom is probably a bug in JDK 1.7...

Craig

Index: src/java/javax/jdo/spi/JDOImplHelper.java
===================================================================
--- src/java/javax/jdo/spi/JDOImplHelper.java	(revision 1307510)
+++ src/java/javax/jdo/spi/JDOImplHelper.java	(working copy)
@@ -839,7 +839,7 @@
      public static Object construct(String className, String  
keyString) {
          StringConstructor stringConstructor;
          try {
-            Class keyClass = Class.forName(className);
+            Class<?> keyClass = Class.forName(className);
              synchronized(stringConstructorMap) {
                  stringConstructor =
                          (StringConstructor)  
stringConstructorMap.get(keyClass);
@@ -847,8 +847,8 @@
              if (stringConstructor != null) {
                  return stringConstructor.construct(keyString);
              } else {
-                Constructor keyConstructor =
-                    keyClass.getConstructor(new Class[]{String.class});
+                Constructor<?> keyConstructor =
+                    keyClass.getConstructor(new Class<?>[] 
{String.class});
                  return keyConstructor.newInstance(new Object[] 
{keyString});
              }
          } catch (JDOException ex) {

On Apr 2, 2012, at 12:56 AM, Michael Bouschen wrote:

> Hi Michelle,
>
> do you have a JDK1.6 installed and can rebuild the api with JDK1.6?  
> I'm wondering whether this makes a difference.
>
> Regards Michael
>
>> With a clean check-out of JDO trunk, using jdk1.7.0_03, I get a  
>> build error:
>> [INFO] Compilation failure
>> could not parse error message: warning: [options] bootstrap class  
>> path not set in conjunction with -source 1.5
>> C:\jdoClean\api\src\java\javax\jdo\spi\JDOImplHelper.java:851:  
>> warning: [unchecked] unchecked call to getConstructor(Class<?>...)  
>> as a member of the raw type Class
>>                    keyClass.getConstructor(new Class[] 
>> {String.class});
>>                                           ^
>>
>> -- Michelle
>>
>> michelle@michelle-PC /cygdrive/c/jdoClean
>> $ mvn clean install
>> [INFO] Scanning for projects...
>> [INFO] Reactor build order:
>> [INFO]   Java Data Objects (JDO)
>> [INFO]   JDO API
>> [INFO]   jdo-exectck Maven Mojo
>> [INFO]   JDO 3 Technology Compatibility Kit
>> [INFO]  
>> ------------------------------------------------------------------------
>> [INFO] Building Java Data Objects (JDO)
>> [INFO]    task-segment: [clean, install]
>> [INFO]  
>> ------------------------------------------------------------------------
>> [INFO] [clean:clean {execution: default-clean}]
>> [INFO] Setting property: classpath.resource.loader.class =>  
>> 'org.codehaus.plexus
>> .velocity.ContextClassLoaderResourceLoader'.
>> [INFO] Setting property: velocimacro.messages.on => 'false'.
>> [INFO] Setting property: resource.loader => 'classpath'.
>> [INFO] Setting property: resource.manager.logwhenfound => 'false'.
>> [INFO] [remote-resources:process {execution: default}]
>> [INFO] [site:attach-descriptor {execution: default-attach- 
>> descriptor}]
>> [INFO] [install:install {execution: default-install}]
>> [INFO] Installing C:\jdoClean\pom.xml to C:\Users\michelle 
>> \.m2\repository\javax\
>> jdo\root\3.1-SNAPSHOT\root-3.1-SNAPSHOT.pom
>> [INFO]  
>> ------------------------------------------------------------------------
>> [INFO] Building JDO API
>> [INFO]    task-segment: [clean, install]
>> [INFO]  
>> ------------------------------------------------------------------------
>> [INFO] [clean:clean {execution: default-clean}]
>> [INFO] [remote-resources:process {execution: default}]
>> [INFO] [resources:resources {execution: default-resources}]
>> [INFO] Using 'UTF-8' encoding to copy filtered resources.
>> [INFO] Copying 1 resource to META-INF
>> [INFO] Copying 1 resource
>> [INFO] Copying 31 resources
>> [INFO] Copying 3 resources
>> [INFO] [compiler:compile {execution: default-compile}]
>> [INFO] Compiling 146 source files to C:\jdoClean\api\target\classes
>> [INFO]  
>> ------------------------------------------------------------------------
>> [ERROR] BUILD FAILURE
>> [INFO]  
>> ------------------------------------------------------------------------
>> [INFO] Compilation failure
>> could not parse error message: warning: [options] bootstrap class  
>> path not set i
>> n conjunction with -source 1.5
>> C:\jdoClean\api\src\java\javax\jdo\spi\JDOImplHelper.java:851:  
>> warning: [uncheck
>> ed] unchecked call to getConstructor(Class<?>...) as a member of  
>> the raw type Cl
>> ass
>>                    keyClass.getConstructor(new Class[] 
>> {String.class});
>>                                           ^
>>
>>
>> [INFO]  
>> ------------------------------------------------------------------------
>> [INFO] For more information, run Maven with the -e switch
>> [INFO]  
>> ------------------------------------------------------------------------
>> [INFO] Total time: 4 seconds
>> [INFO] Finished at: Sun Apr 01 13:59:15 MST 2012
>> [INFO] Final Memory: 41M/530M
>> [INFO]  
>> ------------------------------------------------------------------------
>>
>> michelle@michelle-PC /cygdrive/c/jdoClean
>> $ echo $JAVA_HOME
>> C:\Program Files\Java\jdk1.7.0_03
>
>
> -- 
> *Michael Bouschen*
> *Prokurist*
>
> akquinet tech@spree GmbH
> Bülowstr. 66, D-10783 Berlin
>
> Fon:   +49 30 235 520-33
> Fax:   +49 30 217 520-12
> Email: michael.bouschen@akquinet.de
> Web: www.akquinet.de <http://www.akquinet.de>
>
> akquinet tech@spree GmbH, Berlin
> Geschäftsführung: Martin Weber, Dr. Torsten Fink
> Amtsgericht Berlin-Charlottenburg HRB 86780 B
> USt.-Id. Nr.: DE 225 964 680

Craig L Russell
Architect, Oracle
http://db.apache.org/jdo
408 276-5638 mailto:Craig.Russell@oracle.com
P.S. A good JDO? O, Gasp!


Re: API build failure

Posted by Michael Bouschen <mi...@akquinet.de>.
Hi Michelle,

do you have a JDK1.6 installed and can rebuild the api with JDK1.6? I'm 
wondering whether this makes a difference.

Regards Michael

> With a clean check-out of JDO trunk, using jdk1.7.0_03, I get a build 
> error:
> [INFO] Compilation failure
> could not parse error message: warning: [options] bootstrap class path 
> not set in conjunction with -source 1.5
> C:\jdoClean\api\src\java\javax\jdo\spi\JDOImplHelper.java:851: 
> warning: [unchecked] unchecked call to getConstructor(Class<?>...) as 
> a member of the raw type Class
>                     keyClass.getConstructor(new Class[]{String.class});
>                                            ^
>
> -- Michelle
>
> michelle@michelle-PC /cygdrive/c/jdoClean
> $ mvn clean install
> [INFO] Scanning for projects...
> [INFO] Reactor build order:
> [INFO]   Java Data Objects (JDO)
> [INFO]   JDO API
> [INFO]   jdo-exectck Maven Mojo
> [INFO]   JDO 3 Technology Compatibility Kit
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Building Java Data Objects (JDO)
> [INFO]    task-segment: [clean, install]
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] [clean:clean {execution: default-clean}]
> [INFO] Setting property: classpath.resource.loader.class => 
> 'org.codehaus.plexus
> .velocity.ContextClassLoaderResourceLoader'.
> [INFO] Setting property: velocimacro.messages.on => 'false'.
> [INFO] Setting property: resource.loader => 'classpath'.
> [INFO] Setting property: resource.manager.logwhenfound => 'false'.
> [INFO] [remote-resources:process {execution: default}]
> [INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
> [INFO] [install:install {execution: default-install}]
> [INFO] Installing C:\jdoClean\pom.xml to 
> C:\Users\michelle\.m2\repository\javax\
> jdo\root\3.1-SNAPSHOT\root-3.1-SNAPSHOT.pom
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Building JDO API
> [INFO]    task-segment: [clean, install]
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] [clean:clean {execution: default-clean}]
> [INFO] [remote-resources:process {execution: default}]
> [INFO] [resources:resources {execution: default-resources}]
> [INFO] Using 'UTF-8' encoding to copy filtered resources.
> [INFO] Copying 1 resource to META-INF
> [INFO] Copying 1 resource
> [INFO] Copying 31 resources
> [INFO] Copying 3 resources
> [INFO] [compiler:compile {execution: default-compile}]
> [INFO] Compiling 146 source files to C:\jdoClean\api\target\classes
> [INFO] 
> ------------------------------------------------------------------------
> [ERROR] BUILD FAILURE
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Compilation failure
> could not parse error message: warning: [options] bootstrap class path 
> not set i
> n conjunction with -source 1.5
> C:\jdoClean\api\src\java\javax\jdo\spi\JDOImplHelper.java:851: 
> warning: [uncheck
> ed] unchecked call to getConstructor(Class<?>...) as a member of the 
> raw type Cl
> ass
>                     keyClass.getConstructor(new Class[]{String.class});
>                                            ^
>
>
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] For more information, run Maven with the -e switch
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 4 seconds
> [INFO] Finished at: Sun Apr 01 13:59:15 MST 2012
> [INFO] Final Memory: 41M/530M
> [INFO] 
> ------------------------------------------------------------------------
>
> michelle@michelle-PC /cygdrive/c/jdoClean
> $ echo $JAVA_HOME
> C:\Program Files\Java\jdk1.7.0_03


-- 
*Michael Bouschen*
*Prokurist*

akquinet tech@spree GmbH
Bülowstr. 66, D-10783 Berlin

Fon:   +49 30 235 520-33
Fax:   +49 30 217 520-12
Email: michael.bouschen@akquinet.de
Web: www.akquinet.de <http://www.akquinet.de>

akquinet tech@spree GmbH, Berlin
Geschäftsführung: Martin Weber, Dr. Torsten Fink
Amtsgericht Berlin-Charlottenburg HRB 86780 B
USt.-Id. Nr.: DE 225 964 680