Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [m2e-users] Problem with m2e and resource filtering

Should be fixed in master now

https://bugs.eclipse.org/bugs/show_bug.cgi?id=341253

--
Regards,
Igor

On 11-03-29 10:24 AM, Rafael Vanderlei wrote:
Hi everyone.

I'm stuck on this problem since yesterday on my project and I now I
decided to create a new and clean project for you to easily reproduce
the error (which I'm attaching on the mail).

To help you reproduce it, I created a simple multi module project with
two modules with the structure below:

- resource-filtering-bug
--- pom.xml
--- module a
------ pom.xml
------ src/main/java/ModuleAClass.java
--- module b
------ pom.xml
------ src/main/resources/filtered-file.txt

In module a 's pom.xml I have this:

<properties>
<my.property.value>property value from module A</my.property.value>
</properties>

<build>
<resources>
<resource>
<targetPath>${basedir}/temporary-filtered-resources</targetPath>
<directory>../module-b/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>

While in module b 's pom.xml I have this:

<properties>
<my.property.value>property value from module B</my.property.value>
</properties>

<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>

When I run ' mvn package ' from CLI I have the expected behavior (Maven
creates temporary-filtered-resources/filtered-file.txt under module a 's
directory switching my.property.value for "property value from module A".

But when I use m2e, It creates the folder temporary-filtered-resources
under module a 's directory, but inside it instead of having the
filtered-file.txt file (with my.property.value properly switched for
"property value from module A"), I have the struture target/classes with
no files inside it. Then when I look at Eclipse log file I have this
entry, which may be the root of the problem (I noticed it´s like m2e is
considering module a 's src/main/java/ModuleAClass as a module b 's
resource and trying to copy it from module b to module a, but of course
this file doesn´t exist in module b and I get the error):


!ENTRY org.maven.ide.eclipse 4 0 2011-03-29 10:56:29.313
!MESSAGE Build errors for module-a
!STACK 0
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
execute goal
org.apache.maven.plugins:maven-resources-plugin:2.4.3:resources
(default-resources) on project module-a:
C:\dtp\dependencies\resource-filtering-bug\module-b\src\main\resources\target\classes\ModuleAClass.class
(O sistema não pode encontrar o caminho especificado)
     at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
     at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
     at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
     at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
     at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
     at
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
     at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
     at
org.maven.ide.eclipse.internal.embedder.MavenImpl.execute(MavenImpl.java:223)
     at
org.maven.ide.eclipse.internal.project.GenericBuildParticipant.executePostBuild(GenericBuildParticipant.java:138)
     at
org.maven.ide.eclipse.internal.project.GenericBuildParticipant.build(GenericBuildParticipant.java:77)
     at
org.maven.ide.eclipse.internal.builder.MavenBuilder.build(MavenBuilder.java:153)
     at
org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
     at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
     at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203)
     at
org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255)
     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
     at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258)
     at
org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311)
     at
org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343)
     at
org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
     at
org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242)
     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.apache.maven.plugin.MojoExecutionException:
C:\dtp\dependencies\resource-filtering-bug\module-b\src\main\resources\target\classes\ModuleAClass.class
(O sistema não pode encontrar o caminho especificado)
     at
org.apache.maven.plugin.resources.ResourcesMojo.execute(ResourcesMojo.java:269)
     at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107)
     at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
     ... 24 more
Caused by: org.apache.maven.shared.filtering.MavenFilteringException:
C:\dtp\dependencies\resource-filtering-bug\module-b\src\main\resources\target\classes\ModuleAClass.class
(O sistema não pode encontrar o caminho especificado)
     at
org.apache.maven.shared.filtering.DefaultMavenFileFilter.copyFile(DefaultMavenFileFilter.java:130)
     at
org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering.filterResources(DefaultMavenResourcesFiltering.java:267)
     at
org.apache.maven.plugin.resources.ResourcesMojo.execute(ResourcesMojo.java:265)
     ... 26 more
Caused by: java.io.FileNotFoundException:
C:\dtp\dependencies\resource-filtering-bug\module-b\src\main\resources\target\classes\ModuleAClass.class
(O sistema não pode encontrar o caminho especificado)
     at java.io.FileInputStream.open(Native Method)
     at java.io.FileInputStream.<init>(FileInputStream.java:106)
     at java.io.FileReader.<init>(FileReader.java:55)
     at org.codehaus.plexus.util.FileUtils.copyFile(FileUtils.java:2201)
     at org.codehaus.plexus.util.FileUtils.copyFile(FileUtils.java:2170)
     at
org.apache.maven.shared.filtering.DefaultMavenFileFilter.copyFile(DefaultMavenFileFilter.java:115)
     ... 28 more



Below there are a few descriptions of the files I am attaching to help
you understand them:

1. On the file resource-filtering-bug.rar there is the clean Maven
project (without Eclipse files, just .java files, .txt resources and pom
files)

2. On the file resource-filtering-bug-after-mvn-package.rar there is the
result of a simple ' mvn package ' that I ran from CLI (and which is the
result I would expect from m2e, but it´s failing)

3. On the file resource-filtering-bug-after-eclipse-project-clean.rar
there is the failed result of a simple ' Project < Clean ' that I ran
from Eclipse (and which is the result I was not expecting, as I expected
the result in file 2 described above)

4. On the file eclipse_log_error.txt there is the log I found for m2e
execution, which may give you clues to find the problem that is going on.

So, do you guys have any idea of when this would be fixed and, in the
meanwhile, do you have any workaround to this problem?

Thanks and regards,

Rafael Vanderlei.



_______________________________________________
m2e-users mailing list
m2e-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2e-users


Back to the top