portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ate Douma <...@douma.nu>
Subject Re: Build error in trunk due to conflicting commons-beanutils depenencies
Date Tue, 08 Oct 2013 07:55:56 GMT
On 10/07/2013 08:27 PM, Woonsan Ko wrote:
> Hi,
>
> I've met a weird build error from the fresh JS-2 trunk today (Maven3/JDK1.6):
>
> ...
>
> INFO] Jetspeed-2 Portal Site ............................ SUCCESS [0.973s]
> [INFO] Jetspeed-2 Portal Components ...................... FAILURE [2.046s]
> ...
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO] ------------------------------------------------------------------------
>
> ...
>
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile
(default-compile) on project jetspeed-portal: Compilation failure: Compilation failure:
> [ERROR] /Users/woonsan/workspace/portal/jetspeed-2-TRUNK/components/jetspeed-portal/src/main/java/org/apache/jetspeed/services/rest/JaxrsServiceValve.java:[55,23]
cannot find symbol
> [ERROR] symbol  : method invokeStaticMethod(java.lang.Class<capture#657 of ?>,java.lang.String,java.lang.Object[])
> [ERROR] location: class org.apache.commons.beanutils.MethodUtils
>
> ...
>
>
> So, I ran `mvn dependency:tree -Dincludes=commons-beanutils' in the components/jetspeed-portal
module folder:
>
>
> [INFO] org.apache.portals.jetspeed-2:jetspeed-portal:jar:2.2.3-SNAPSHOT
> [INFO] +- org.apache.portals.jetspeed-2:jetspeed-registry:jar:2.2.3-SNAPSHOT:compile
> [INFO] |  \- org.apache.portals.jetspeed-2:jetspeed-serializer:jar:2.2.3-SNAPSHOT:compile
> [INFO] |     \- org.apache.ddlutils:ddlutils:jar:1.0:compile
> [INFO] |        \- commons-betwixt:commons-betwixt:jar:0.8:compile
> [INFO] |           \- commons-beanutils:commons-beanutils-core:jar:1.7.0:compile
> [INFO] \- org.apache.velocity:velocity-tools:jar:1.3:compile
> [INFO]    \- commons-beanutils:commons-beanutils:jar:1.8.0:compile
>
>
>
> The above clearly shows it depends on two different versions of commons-beanutils. The
API, MethodUtils#invokeStaticMethod() [1]
> has been introduced since 1.8.I don't know why/when this problem started staying here,
but I think we should add the explicit dependencies in components/jetspeed-portal/pom.xml
like the following:
>
>      <dependency>
>        <groupId>commons-beanutils</groupId>
>        <artifactId>commons-beanutils</artifactId>
>      </dependency>
>      <dependency>
>        <groupId>commons-beanutils</groupId>
>        <artifactId>commons-beanutils-core</artifactId>
>      </dependency>
>
>
> In my local testing, this solves the problem. So I'll add commit it soon.
> Please let me know if there's anything I missed.
>
We should only need/depend on commons-beanutils artifact, not ALSO on 
commons-beanutils-core. The first already contains 'everything' while the second 
one is a trimmed down version excluding commons-beanutils-bean-collections [1].
So I would suggest that the transitive dependency on commons-beanutils-core 
should be excluded from ddlutils in jetspeed-serializer (and the 
commons-beanutils then should be explicitly added as an dependency there as well).

I also would run a full mvn:dependency:tree on the whole of modules, to make 
sure no other component is (transitively) depending on commons-beanutils-core 
either.

Ate

[1] 
http://commons.apache.org/proper/commons-beanutils/index.html#BeanUtils_Core_And_Modules

>
> Thanks!
>
> Regards,
>
> Woonsan
>
>
> [1] http://commons.apache.org/proper/commons-beanutils/javadocs/v1.8.3/apidocs/org/apache/commons/beanutils/MethodUtils.html#invokeStaticMethod%28java.lang.Class,%20java.lang.String,%20java.lang.Object[]%29
>


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


Mime
View raw message