commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Heger <oliver.he...@oliver-heger.de>
Subject Re: [configuration] Compilation under Java 1.4
Date Wed, 16 Feb 2011 20:45:11 GMT
Am 15.02.2011 21:23, schrieb Oliver Heger:
> Am 10.02.2011 13:09, schrieb sebb:
>> On 10 February 2011 07:27, Ralph Goers<ralph.goers@dslextreme.com> wrote:
>>>
>>> On Feb 9, 2011, at 11:04 PM, Oliver Heger wrote:
>>>
>>>> Am 10.02.2011 00:48, schrieb Ralph Goers:
>>>>>
>>>>> On Feb 9, 2011, at 2:54 PM, Jörg Schaible wrote:
>>>>>
>>>>>> Hi Ralph,
>>>>>>
>>>>>> Ralph Goers wrote:
>>>>>>
>>>>>>> The latest versions of Maven require JDK 1.5. The pom (or the
>>>>>>> Commons
>>>>>>> Parent) should be specifying that the target for Commons
>>>>>>> Configuration is
>>>>>>> 1.4. I've run this build many times successfully (I use 1.6).
I
>>>>>>> don't
>>>>>>> see any problem requiring the build to use Maven 2.2.x or Maven
3
>>>>>>> and/or
>>>>>>> have a minimum JDK version for that. I would have a problem if
this
>>>>>>> prevented the result from running in a JDK 1.4 VM.
>>>>>>
>>>>>> but this is what Oliver told: vfs snapshot was compiled with
>>>>>> target 1.5, so
>>>>>> you cannot compile and run with a target 1.4.
>>>>>
>>>>> I just did an svn up on both vfs and configuration and then did a
>>>>> mvn clean install on each. Both build and run their unit tests with
>>>>> no problems.
>>>>>
>>>>> I believe this problem only exists when you build using JDK 1.4,
>>>>> which is also the way I read Oliver's message.
>>>>>
>>>>> Ralph
>>>>>
>>>> Yes, building on a JDK 1.4 is no more possible (builds on JDK 1.5+
>>>> work without problems). This is a bit strange as we still target
>>>> this version. I prefer building on the target JDK because otherwise
>>>> it is easy to introduce incompatibilities, e.g. by using library
>>>> classes or methods available only on higher JDKs.
>>>>
>>>> So in any case to ensure compatibility, it would be necessary to run
>>>> at least the tests on a 1.4 runtime. How can we do this with the
>>>> least effort? Can this be done with maven or do we need an ant script?
>>>>
>>>> The generated configuration jar should still be compatible with 1.4,
>>>> but if you use classes depending on vfs, you will of course need a
>>>> 1.5 runtime.
>>>
>>> It should be possible to create a profile that excludes the unit
>>> tests that use VFS if the jdk is 1.4. If the code has already been
>>> compiled then running mvn test with maven 2.0.x and jdk 1.4 should
>>> work since it won't try to compile anything.
>>
>> FYI:
>>
>> Note that the Commons Parent POM was changed some while ago to add
>> profiles java-1.4, java-1.3 etc. which change the Java version used
>> for compile and test without needing to change the JVM used to run
>> Maven itself.
>>
>> See
>> http://commons.apache.org/commons-parent-pom.html#Testing_with_different_Java_versions
>>
>
> Thanks for the pointer. I will try to exclude the affected classes if
> the profile for Java 1.4 is active.
>

Just an update: I have added a profile which excludes the problematic 
classes when building under JDK 1.4. With the current version of the pom 
it is possible to run the following command successfully:

mvn clean package -Pjava-1.4

However, what does not work is the following: If you first build without 
the profile (using Java 1.5+), you cannot simply run

mvn test -Pjava-1.4

(i.e. simply running tests without compiling). Test execution is aborted 
immediately with a bad class version error, although I excluded the 
classes in the configuration of the surefire plug-in. No idea why this 
is the case.

Oliver

> Oliver
>
>>
>>> Ralph
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message