Discussion:
Excluding files from JAR
amit kumar
2008-01-10 12:10:35 UTC
Permalink
HI,
Just like WAR can I as well exclude some files from JAR builds as well?

I have used this, but not working.

</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>**/*.xsd</excludes>
<schemaDirectory>src/schema/xsd</schemaDirectory>
</configuration>
</plugin>

Am I missing something?

Amit
Olivier Lamy
2008-01-10 12:59:43 UTC
Permalink
Hi,
No you don't miss something here.
It's a know issue [1] and it's fixed in trunk.
You can try last snapshot to test the fix.

--
Olivier
[1] http://jira.codehaus.org/browse/MJAR-30
Post by amit kumar
HI,
Just like WAR can I as well exclude some files from JAR builds as well?
I have used this, but not working.
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>**/*.xsd</excludes>
<schemaDirectory>src/schema/xsd</schemaDirectory>
</configuration>
</plugin>
Am I missing something?
Amit
amit kumar
2008-01-10 16:15:19 UTC
Permalink
Hi,
I have downloaded the patches from the link mentioned by you. But I don't
know how to apply them.

regards,
Amit
Post by Olivier Lamy
Hi,
No you don't miss something here.
It's a know issue [1] and it's fixed in trunk.
You can try last snapshot to test the fix.
--
Olivier
[1] http://jira.codehaus.org/browse/MJAR-30
Post by amit kumar
HI,
Just like WAR can I as well exclude some files from JAR builds as well?
I have used this, but not working.
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>**/*.xsd</excludes>
<schemaDirectory>src/schema/xsd</schemaDirectory>
</configuration>
</plugin>
Am I missing something?
Amit
---------------------------------------------------------------------
Olivier Lamy
2008-01-10 16:58:06 UTC
Permalink
Nothing to patch locally.
The snapshot with this patch is available in snapshot plugin repositories.
In order to test this have a look here [1] (first section "How to
include the plugin snapshot repositories as part of your build").

If you have any issues let us know,

Thanks,
--
Olivier

[1] http://maven.apache.org/guides/development/guide-plugin-snapshot-repositories.html
Post by amit kumar
Hi,
I have downloaded the patches from the link mentioned by you. But I don't
know how to apply them.
regards,
Amit
Post by Olivier Lamy
Hi,
No you don't miss something here.
It's a know issue [1] and it's fixed in trunk.
You can try last snapshot to test the fix.
--
Olivier
[1] http://jira.codehaus.org/browse/MJAR-30
Post by amit kumar
HI,
Just like WAR can I as well exclude some files from JAR builds as well?
I have used this, but not working.
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>**/*.xsd</excludes>
<schemaDirectory>src/schema/xsd</schemaDirectory>
</configuration>
</plugin>
Am I missing something?
Amit
---------------------------------------------------------------------
supareno
2008-01-12 14:59:22 UTC
Permalink
Hello guys

i read the previous threads about exclusion with interest
because i am always confronted with the "excludes" problem

i followed all the steps:
changed my settings.xml to enable snapshot plugin repositories...
(http://maven.apache.org/guides/development/guide-plugin-snapshot-repositories.html)
everything is working except the "excludes" tag

my pom.xml looks like this:

...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<excludes>**/*.xsd</excludes>

<schemaDirectory>src/main/resources/xml</schemaDirectory>
</configuration>
</execution>
</executions>
</plugin>
...

and when i run maven with the following command:
mvn -Papache package
i've got this exception!

...
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Failed to configure plugin parameters for:
org.apache.maven.plugins:maven-jar-plugin:2.2-SNAPSHOT

(found static expression: '**/*.xsd' which may act as a default value).


Cause: Cannot assign configuration entry 'excludes' to 'class
[Ljava.lang.String;' from '**/*.xsd', which is of type class
java.lang.String
[INFO]
------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
...

do i forget something during my builds??

regards
supareno
Olivier Lamy
2008-01-12 15:05:21 UTC
Permalink
Hi,
Can you try with :
<excludes>
<exclude>**/*.xsd</exclude>
</excludes>

--
Olivier
Post by supareno
Hello guys
i read the previous threads about exclusion with interest
because i am always confronted with the "excludes" problem
changed my settings.xml to enable snapshot plugin repositories...
(http://maven.apache.org/guides/development/guide-plugin-snapshot-repositories.html)
everything is working except the "excludes" tag
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<excludes>**/*.xsd</excludes>
<schemaDirectory>src/main/resources/xml</schemaDirectory>
</configuration>
</execution>
</executions>
</plugin>
...
mvn -Papache package
i've got this exception!
...
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
org.apache.maven.plugins:maven-jar-plugin:2.2-SNAPSHOT
(found static expression: '**/*.xsd' which may act as a default value).
Cause: Cannot assign configuration entry 'excludes' to 'class
[Ljava.lang.String;' from '**/*.xsd', which is of type class
java.lang.String
[INFO]
------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
...
do i forget something during my builds??
regards
supareno
---------------------------------------------------------------------
supareno
2008-01-12 17:16:59 UTC
Permalink
Thanks Olivier (and Jochen and Dennis),

it is now building without any error but the xsd files is always here
i'm gonna try with Ant task to if it is working !

regards
Post by amit kumar
Hi,
<excludes>
<exclude>**/*.xsd</exclude>
</excludes>
--
Olivier
Post by supareno
Hello guys
i read the previous threads about exclusion with interest
because i am always confronted with the "excludes" problem
changed my settings.xml to enable snapshot plugin repositories...
(http://maven.apache.org/guides/development/guide-plugin-snapshot-repositories.html)
everything is working except the "excludes" tag
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<excludes>**/*.xsd</excludes>
<schemaDirectory>src/main/resources/xml</schemaDirectory>
</configuration>
</execution>
</executions>
</plugin>
...
mvn -Papache package
i've got this exception!
...
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
org.apache.maven.plugins:maven-jar-plugin:2.2-SNAPSHOT
(found static expression: '**/*.xsd' which may act as a default value).
Cause: Cannot assign configuration entry 'excludes' to 'class
[Ljava.lang.String;' from '**/*.xsd', which is of type class
java.lang.String
[INFO]
------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
...
do i forget something during my builds??
regards
supareno
---------------------------------------------------------------------
---------------------------------------------------------------------
Olivier Lamy
2008-01-12 17:29:53 UTC
Permalink
The excludes field in the jar plugin is to exclude content from
${project.build.outputDirectory} not to exclude resources.
In order to exclude resources have a look here [1].

I don't really understand your jar plugin configuration.
Can you try a more simple :

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/*.xsd</exclude>
</excludes>
</configuration>
</plugin>

--
Olivier
[1] http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html
Post by supareno
Thanks Olivier (and Jochen and Dennis),
it is now building without any error but the xsd files is always here
i'm gonna try with Ant task to if it is working !
regards
Post by amit kumar
Hi,
<excludes>
<exclude>**/*.xsd</exclude>
</excludes>
--
Olivier
Post by supareno
Hello guys
i read the previous threads about exclusion with interest
because i am always confronted with the "excludes" problem
changed my settings.xml to enable snapshot plugin repositories...
(http://maven.apache.org/guides/development/guide-plugin-snapshot-repositories.html)
everything is working except the "excludes" tag
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<excludes>**/*.xsd</excludes>
<schemaDirectory>src/main/resources/xml</schemaDirectory>
</configuration>
</execution>
</executions>
</plugin>
...
mvn -Papache package
i've got this exception!
...
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
org.apache.maven.plugins:maven-jar-plugin:2.2-SNAPSHOT
(found static expression: '**/*.xsd' which may act as a default value).
Cause: Cannot assign configuration entry 'excludes' to 'class
[Ljava.lang.String;' from '**/*.xsd', which is of type class
java.lang.String
[INFO]
------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
...
do i forget something during my builds??
regards
supareno
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
supareno
2008-01-12 18:03:15 UTC
Permalink
thanks for your Olivier ,

it works now!
i forgot to make a clean in the target folder so that's why the files
were always present !

regards
Post by Olivier Lamy
The excludes field in the jar plugin is to exclude content from
${project.build.outputDirectory} not to exclude resources.
In order to exclude resources have a look here [1].
I don't really understand your jar plugin configuration.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/*.xsd</exclude>
</excludes>
</configuration>
</plugin>
--
Olivier
[1] http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html
Post by supareno
Thanks Olivier (and Jochen and Dennis),
it is now building without any error but the xsd files is always here
i'm gonna try with Ant task to if it is working !
regards
Post by amit kumar
Hi,
<excludes>
<exclude>**/*.xsd</exclude>
</excludes>
--
Olivier
Post by supareno
Hello guys
i read the previous threads about exclusion with interest
because i am always confronted with the "excludes" problem
changed my settings.xml to enable snapshot plugin repositories...
(http://maven.apache.org/guides/development/guide-plugin-snapshot-repositories.html)
everything is working except the "excludes" tag
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<excludes>**/*.xsd</excludes>
<schemaDirectory>src/main/resources/xml</schemaDirectory>
</configuration>
</execution>
</executions>
</plugin>
...
mvn -Papache package
i've got this exception!
...
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
org.apache.maven.plugins:maven-jar-plugin:2.2-SNAPSHOT
(found static expression: '**/*.xsd' which may act as a default value).
Cause: Cannot assign configuration entry 'excludes' to 'class
[Ljava.lang.String;' from '**/*.xsd', which is of type class
java.lang.String
[INFO]
------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
...
do i forget something during my builds??
regards
supareno
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
Jochen Wiedmann
2008-01-12 15:09:31 UTC
Permalink
Post by supareno
org.apache.maven.plugins:maven-jar-plugin:2.2-SNAPSHOT
(found static expression: '**/*.xsd' which may act as a default value).
Configuration problem on your side, use

<excludes>
<exclude>**/*.xsd</exclude>
</excludes>

Jochen
--
Look, that's why there's rules, understand? So that you think before
you break 'em.

-- (Terry Pratchett, Thief of Time)
Dennis Lundberg
2008-01-12 15:13:00 UTC
Permalink
The excludes configuration is a set of things to exclude. It needs to be
configured like this:

<excludes>
<exclude>**/*.xsd</exclude>
</excludes>
Post by supareno
Hello guys
i read the previous threads about exclusion with interest
because i am always confronted with the "excludes" problem
changed my settings.xml to enable snapshot plugin repositories...
(http://maven.apache.org/guides/development/guide-plugin-snapshot-repositories.html)
everything is working except the "excludes" tag
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<excludes>**/*.xsd</excludes>
<schemaDirectory>src/main/resources/xml</schemaDirectory>
</configuration>
</execution>
</executions>
</plugin> ...
mvn -Papache package
i've got this exception!
...
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
org.apache.maven.plugins:maven-jar-plugin:2.2-SNAPSHOT
(found static expression: '**/*.xsd' which may act as a default value).
Cause: Cannot assign configuration entry 'excludes' to 'class
[Ljava.lang.String;' from '**/*.xsd', which is of type class
java.lang.String
[INFO]
------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
...
do i forget something during my builds??
regards
supareno
---------------------------------------------------------------------
--
Dennis Lundberg
amit kumar
2008-01-10 17:10:05 UTC
Permalink
Hi Simon,
Being totally unaware of ANT although I tried but of no use.
I used this with google's help

<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<configuration>
<tasks>
<target name="jar-file" depends="compile-src,copy">
<jar destfile="${root}/target/file.jar" basedir="${build}"
excludes="*.xsd,*.xsb" />
</target>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>


Where am I lacking?


Regards,
Amit
Post by amit kumar
Hi,
I have downloaded the patches from the link mentioned by you. But I don't
know how to apply them.
regards,
Amit
Post by Olivier Lamy
Hi,
No you don't miss something here.
It's a know issue [1] and it's fixed in trunk.
You can try last snapshot to test the fix.
--
Olivier
[1] http://jira.codehaus.org/browse/MJAR-30
Post by amit kumar
HI,
Just like WAR can I as well exclude some files from JAR builds as
well?
Post by amit kumar
I have used this, but not working.
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>**/*.xsd</excludes>
<schemaDirectory>src/schema/xsd</schemaDirectory>
</configuration>
</plugin>
Am I missing something?
Amit
---------------------------------------------------------------------
Wayne Fay
2008-01-11 00:16:10 UTC
Permalink
I don't think Simon is telling you to use Ant's jar command -- instead
he is suggesting that you use Ant's <delete> task to physically remove
the unwanted files out of /target/ before allowing Maven to do its own
packaging step. (Right, Simon?) You would probably want to bind this
to prepare-package as you have done below.

Here's the Ant Delete task page:
http://ant.apache.org/manual/CoreTasks/delete.html

Also, you should be using -X to get full debugging information. And if
it "doesn't work" this time, please reply back with a lot more details
about what exactly happened when you tried this eg what errors were
reported, what seemed to happen, etc. Simply saying "it didn't work"
tells us absolutely nothing about what actually happened vs what you
were expecting etc.

Wayne
Post by amit kumar
Hi Simon,
Being totally unaware of ANT although I tried but of no use.
I used this with google's help
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<configuration>
<tasks>
<target name="jar-file" depends="compile-src,copy">
<jar destfile="${root}/target/file.jar" basedir="${build}"
excludes="*.xsd,*.xsb" />
</target>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
Where am I lacking?
Regards,
Amit
Post by amit kumar
Hi,
I have downloaded the patches from the link mentioned by you. But I don't
know how to apply them.
regards,
Amit
Post by Olivier Lamy
Hi,
No you don't miss something here.
It's a know issue [1] and it's fixed in trunk.
You can try last snapshot to test the fix.
--
Olivier
[1] http://jira.codehaus.org/browse/MJAR-30
Post by amit kumar
HI,
Just like WAR can I as well exclude some files from JAR builds as
well?
Post by amit kumar
I have used this, but not working.
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>**/*.xsd</excludes>
<schemaDirectory>src/schema/xsd</schemaDirectory>
</configuration>
</plugin>
Am I missing something?
Amit
---------------------------------------------------------------------
amit kumar
2008-01-11 11:52:40 UTC
Permalink
Hi,
Sorry for incomplete information about the problem. I used <delete> task ,
and it is working now.
Did not try the snapshot jar plugin yet.

Thanks and regards,
Amit Kumar
Post by Wayne Fay
I don't think Simon is telling you to use Ant's jar command -- instead
he is suggesting that you use Ant's <delete> task to physically remove
the unwanted files out of /target/ before allowing Maven to do its own
packaging step. (Right, Simon?) You would probably want to bind this
to prepare-package as you have done below.
http://ant.apache.org/manual/CoreTasks/delete.html
Also, you should be using -X to get full debugging information. And if
it "doesn't work" this time, please reply back with a lot more details
about what exactly happened when you tried this eg what errors were
reported, what seemed to happen, etc. Simply saying "it didn't work"
tells us absolutely nothing about what actually happened vs what you
were expecting etc.
Wayne
Post by amit kumar
Hi Simon,
Being totally unaware of ANT although I tried but of no use.
I used this with google's help
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<configuration>
<tasks>
<target name="jar-file" depends="compile-src,copy">
<jar destfile="${root}/target/file.jar" basedir="${build}"
excludes="*.xsd,*.xsb" />
</target>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
Where am I lacking?
Regards,
Amit
Post by amit kumar
Hi,
I have downloaded the patches from the link mentioned by you. But I
don't
Post by amit kumar
Post by amit kumar
know how to apply them.
regards,
Amit
Post by Olivier Lamy
Hi,
No you don't miss something here.
It's a know issue [1] and it's fixed in trunk.
You can try last snapshot to test the fix.
--
Olivier
[1] http://jira.codehaus.org/browse/MJAR-30
Post by amit kumar
HI,
Just like WAR can I as well exclude some files from JAR builds as
well?
Post by amit kumar
I have used this, but not working.
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>**/*.xsd</excludes>
<schemaDirectory>src/schema/xsd</schemaDirectory>
</configuration>
</plugin>
Am I missing something?
Amit
---------------------------------------------------------------------
---------------------------------------------------------------------
Simon Kitching
2008-01-10 16:02:44 UTC
Permalink
Post by amit kumar
Just like WAR can I as well exclude some files from JAR builds as well?
Not until the next version of the jar plugin is released.

For the moment, the usual workaround is to use the antrun plugin to remove the unwanted files before the jar is created.

Regards, Simon
Continue reading on narkive:
Loading...