Hi James

Thanks for your help!
Theoretically, recreating the .project would be a possibility, but of course I 
don't know what other external tools and builders and whatnot will be in the 
project files.
So overwriting them with a hardcoded setting isn't really an option IMHO.

I guess I'll have to do it with a backup copy then. Do you think there's a 
chance that the plugin authors would change its behavior, adding something like 
eclipse:classpath?

In the meantime, since I'm calling Maven with eclipse:eclipse as an External 
Tool in Eclipse, I created a batch file which does the copying:

echo Making a backup of .project file
copy .project .project_backup

echo Starting Maven
call mvn %*

echo Restoring .project file
copy .project_backup .project

echo Deleting .project backup
del .project_backup

Best regards,
Eric

-----Ursprüngliche Nachricht-----
Von: James Mitchell [mailto:[EMAIL PROTECTED] 
Gesendet: Samstag, 21. Oktober 2006 08:42
An: Maven Users List
Betreff: Re: AW: Create only .classpath with eclipse:eclipse?

I see.  Well, I suppose you could keep a backup copy and just  
overwrite the incorrectly gen'd one every time, but that would be  
frustrating I'm sure.

I don't know if the current plugin supports this sort of specialized  
build configuration or some way to inject fragments into the output  
files, but I did find one interesting work-around.  By adding a  
little configuration to your pom.xml, you can tell Maven to just  
overwrite the gen'd one with one specify in your pom.

Here's how I did it:

In the plugins section I added the following...

...
...
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-eclipse-plugin</artifactId>
         <configuration>
           <additionalConfig>
             <file>
               <name>.project</name>
               <content>
                 <![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
        <name>ejbtest</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
                <buildCommand>
                        
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
                        <triggers>full,incremental,</triggers>
                        <arguments>
                                <dictionary>
                                        <key>LaunchConfigHandle</key>
                                        
<value>&lt;project&gt;/.externalToolBuilders/ 
org.eclipse.jst.j2ee.ejb.annotations.xdoclet.xdocletbuilder.launch</ 
value>
                                </dictionary>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
                        <triggers>full,incremental,</triggers>
                        <arguments>
                                <dictionary>
                                        <key>LaunchConfigHandle</key>
                                        
<value>&lt;project&gt;/.externalToolBuilders/ 
GenerateSources.launch</value>
                                </dictionary>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        <name>org.eclipse.jdt.core.javabuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        
<name>org.eclipse.wst.common.project.facet.core.builder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        
<name>org.eclipse.wst.validation.validationbuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
        </buildSpec>
        <natures>
                
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
                <nature>org.eclipse.jdt.core.javanature</nature>
                
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
                <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
        </natures>
</projectDescription>
]]>
               </content>
             </file>
           </additionalConfig>
         </configuration>
       </plugin>
...
...

And Maven will happily write that file (conveniently) after the  
wrong .project gets written.

I doubt that this is the correct way to do it, but it works for now  
and seems easier than recopying your .project config over the gen'd one.

Let me know if there's a better way.

Thanks

--
James Mitchell
678.910.8017




On Oct 20, 2006, at 3:33 AM, Lewis, Eric wrote:

> Well, I'm running Callisto (3.2.1) with WTP and I have a very  
> simple EJB Project, which uses Maven as a Builder to generate  
> artefacts with XDoclet.
> Now, when I run eclipse:eclipse (within Eclipse, as an External  
> Tool, refreshing the project afterwards), I get the error
>
> Errors during build.
> Errors running builder "Integrated External Tool Builder" on  
> project ...
> The builder launch configuration could not be found.
>
> This is the .project before
>
> <?xml version="1.0" encoding="UTF-8"?>
> <projectDescription>
>       <name>ejbtest</name>
>       <comment></comment>
>       <projects>
>       </projects>
>       <buildSpec>
>               <buildCommand>
>                       
> <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
>                       <triggers>full,incremental,</triggers>
>                       <arguments>
>                               <dictionary>
>                                       <key>LaunchConfigHandle</key>
>                                       
> <value>&lt;project&gt;/.externalToolBuilders/ 
> org.eclipse.jst.j2ee.ejb.annotations.xdoclet.xdocletbuilder.launch</ 
> value>
>                               </dictionary>
>                       </arguments>
>               </buildCommand>
>               <buildCommand>
>                       
> <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
>                       <triggers>full,incremental,</triggers>
>                       <arguments>
>                               <dictionary>
>                                       <key>LaunchConfigHandle</key>
>                                       
> <value>&lt;project&gt;/.externalToolBuilders/ 
> GenerateSources.launch</value>
>                               </dictionary>
>                       </arguments>
>               </buildCommand>
>               <buildCommand>
>                       <name>org.eclipse.jdt.core.javabuilder</name>
>                       <arguments>
>                       </arguments>
>               </buildCommand>
>               <buildCommand>
>                       
> <name>org.eclipse.wst.common.project.facet.core.builder</name>
>                       <arguments>
>                       </arguments>
>               </buildCommand>
>               <buildCommand>
>                       
> <name>org.eclipse.wst.validation.validationbuilder</name>
>                       <arguments>
>                       </arguments>
>               </buildCommand>
>       </buildSpec>
>       <natures>
>               
> <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
>               <nature>org.eclipse.jdt.core.javanature</nature>
>               
> <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
>               <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
>       </natures>
> </projectDescription>
>
> and after
>
> <projectDescription>
>   <name>daytrader-ejb</name>
>   <comment>DayTrader EJBs</comment>
>   <projects/>
>   <buildSpec>
>     <buildCommand>
>       <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
>       <arguments/>
>     </buildCommand>
>     <buildCommand>
>       <name>org.eclipse.jdt.core.javabuilder</name>
>       <arguments/>
>     </buildCommand>
>     <buildCommand>
>       <name>org.eclipse.wst.common.project.facet.core.builder</name>
>       <arguments/>
>     </buildCommand>
>     <buildCommand>
>       <name>org.eclipse.wst.validation.validationbuilder</name>
>       <arguments/>
>     </buildCommand>
>   </buildSpec>
>   <natures>
>     <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
>     <nature>org.eclipse.jdt.core.javanature</nature>
>     <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</ 
> nature>
>     <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
>   </natures>
> </projectDescription>
>
> Looks to me like Eclipse kicks out my External Builder.
>
> Maven's output is
> [INFO] Executed tasks
> [INFO] [eclipse:eclipse]
> [INFO] File C:\jp\ejbtest\.project already exists.
>        Additional settings will be preserved, run mvn eclipse:clean  
> if you want old settings to be removed.
> [INFO] Not writing settings - defaults suffice
> [INFO] Wrote Eclipse project for "daytrader-ejb" to C:\jp\ejbtest.
>
> Frankly, from the documentation I'm not quite sure whether I should  
> define the parameters 'wtpversion' or 'additionalBuildcommands' if  
> I already have a fully working project.
>
> Best regards,
> Eric
> -----Ursprüngliche Nachricht-----
> Von: James Mitchell [mailto:[EMAIL PROTECTED]
> Gesendet: Freitag, 20. Oktober 2006 00:56
> An: Maven Users List
> Betreff: Re: Create only .classpath with eclipse:eclipse?
>
> The eclipse plugin can handle most anything you throw at it.  What
> specifically is wrong with the output .project file?
>
> What type of project is it?  Web Tools?  MyEclipse?  RAD?
>
>
> --
> James Mitchell
> 678.910.8017
>
>
>
>
> On Oct 19, 2006, at 11:59 AM, Lewis, Eric wrote:
>
>> Hi
>>
>> I'm new to this list, so.. hi!  :-)
>> We're changing our build to Maven, and since the POMs are the
>> masters of
>> the build, we'd like to execute eclipse:eclipse whenever the POM has
>> chagned.
>> However, this messes up the .project file. Is there any way to tell
>> the
>> eclipse plugin to only generate the class path?
>>
>> Best regards,
>> Eric
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to