You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@groovy.apache.org by Romain Manni-Bucau <rm...@gmail.com> on 2017/01/06 09:54:59 UTC

rm servlet-api.jar?

Hi guys,

Using groovy bundle (export PATH=$GROOVY_HOME/bin:$PATH) I often hit a
blocker: servlet-api is there. It means that if you use tomcat you will use
the wrong servlet api and get some troubles (missing message bundle, wrong
version etc...).

It can be overriden with setting up a custom groovy-starter.conf and
setting the system property groovy.starter.conf.override but this is not
very convenient.

How to get rid of most of convenient dependencies from groovy/lib?

Idea can be to use grapes to resolve them later when needed from groovy
classloader(s) which makes it quite dynamic but a simpler solution can also
be to have some profile and add them in the cli to control the classpath
like:

./bin/groovy --light myscript.groovy
./bin/groovy --all myscript.groovy

etc

With this last option we need to define which profiles we want and also if
we want to have a regex support:

./bin/groovy --root-loader={groovy.home}/lib/*.jar myscript.groovy


any thoughts on this?

Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://blog-rmannibucau.rhcloud.com> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
<https://javaeefactory-rmannibucau.rhcloud.com>

Re: rm servlet-api.jar?

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Le 10 janv. 2017 01:44, "Jochen Theodorou" <bl...@gmx.org> a écrit :

On 06.01.2017 10:54, Romain Manni-Bucau wrote:

> Hi guys,
>
> Using groovy bundle (export PATH=$GROOVY_HOME/bin:$PATH) I often hit a
> blocker: servlet-api is there. It means that if you use tomcat you will
> use the wrong servlet api and get some troubles (missing message bundle,
> wrong version etc...).
>
> It can be overriden with setting up a custom groovy-starter.conf and
> setting the system property groovy.starter.conf.override but this is not
> very convenient.
>
> How to get rid of most of convenient dependencies from groovy/lib?
>
> Idea can be to use grapes to resolve them later when needed from groovy
> classloader(s) which makes it quite dynamic but a simpler solution can
> also be to have some profile and add them in the cli to control the
> classpath like:
>
> ./bin/groovy --light myscript.groovy
> ./bin/groovy --all myscript.groovy
>

wouldn´t it be better to be able to set the configuration in a more
convenient way?


Hmm, proposed this way cause it was tthe most convenient for me (light and
fluent on the CLI)




> etc
>
> With this last option we need to define which profiles we want and also
> if we want to have a regex support:
>
> ./bin/groovy --root-loader={groovy.home}/lib/*.jar myscript.groovy
>
>
> any thoughts on this?
>

I think * and ** are supported in the starter configurations. Does it have
to be on the command line?


Yes it does but you need to share a starter.conf + a command line as a
framework. Not very user friendly.

Thinking to it wonder if grapes shouldnt be able to handle it. Until you
execute the script you didnt load these polluting classes/jar so you should
be able to remove them from the classloader or at least exclude the classes
just throwing ClassNotFoundException from the RootLoader.






bye Jochen

Re: rm servlet-api.jar?

Posted by Jochen Theodorou <bl...@gmx.org>.
On 06.01.2017 10:54, Romain Manni-Bucau wrote:
> Hi guys,
>
> Using groovy bundle (export PATH=$GROOVY_HOME/bin:$PATH) I often hit a
> blocker: servlet-api is there. It means that if you use tomcat you will
> use the wrong servlet api and get some troubles (missing message bundle,
> wrong version etc...).
>
> It can be overriden with setting up a custom groovy-starter.conf and
> setting the system property groovy.starter.conf.override but this is not
> very convenient.
>
> How to get rid of most of convenient dependencies from groovy/lib?
>
> Idea can be to use grapes to resolve them later when needed from groovy
> classloader(s) which makes it quite dynamic but a simpler solution can
> also be to have some profile and add them in the cli to control the
> classpath like:
>
> ./bin/groovy --light myscript.groovy
> ./bin/groovy --all myscript.groovy

wouldn�t it be better to be able to set the configuration in a more 
convenient way?

>
> etc
>
> With this last option we need to define which profiles we want and also
> if we want to have a regex support:
>
> ./bin/groovy --root-loader={groovy.home}/lib/*.jar myscript.groovy
>
>
> any thoughts on this?

I think * and ** are supported in the starter configurations. Does it 
have to be on the command line?

bye Jochen