2011-07-18 44 views
0

这里是我的环境:.svn目录都被删除

  • 的Eclipse 3.6.1 - J2EE版本
  • Sonatype的m2eclipse插件为行家
  • 的Maven 3.0.2
  • GWT 2.3.0
  • 谷歌的Eclipse插件
  • GWT-Maven的插件,通过魔
  • 为SVN

问题颠覆

  • Subclipse的插件: 我的GWT应用程序被设置成战争是建立在的src/main/webapp的文件夹中。我在这个文件夹中有几个文件,我希望能够检查SVN,(.html,web.xml等)。我已经配置了我的pom文件来删除已编译的javascript文件,.class文件和deploy目录。我也排除了我认为是正确的文件。当我运行Maven clean或者如果我做一个项目清理或项目构建时,这工作正常。但是,当我在开发模式下运行时,这些.svn目录被删除。这里是我的POM的一个片段:

    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-clean-plugin</artifactId> 
    <version>2.4.1</version> 
    <configuration> 
        <filesets> 
         <fileset> 
         <directory>${webappDirectory}</directory> 
          <includes> 
           <include>mydir/**</include> 
           <include>*.class</include> 
           <include>WEB-INF/deploy/**</include> 
          </includes> 
          <excludes> 
           <exclude>${webappDirectory}</exclude> 
           <exclude>META-INF/*.MF</exclude> 
           <exclude>**/*.xml</exclude> 
           <exclude>**/.svn</exclude> 
          </excludes>        
              <followSymlinks>false</followSymlinks> 
         </fileset> 
         </filesets> 
        </configuration> 
    </plugin> 
    

    我已搜查这些论坛和网络,但只找到几个链接到这个问题。 http://code.google.com/p/google-web-toolkit/issues/detail?id=6378&q=deleting%20.svn%20directories&colspec=ID%20Type%20Status%20Owner%20Milestone%20Summary%20Stars

    https://groups.google.com/forum/#!topic/google-web-toolkit/Dvumj0BAJjg

    我曾尝试提出解决方案,但他们并没有为我工作。我禁用了项目验证,并且还禁用了Google Web Toolkit项目验证器。看起来禁用这些并不是解决问题的首选方法。

    当我看着我的Maven控制台时,点击运行按钮,它似乎是使用Maven增量构建和基本上完整的Maven生命周期。我想我的maven-clean-plugin配置就足够了,但显然不是,所以我想知道可能需要配置哪些其他插件,或者需要更改我的eclipse环境或运行配置中的内容。下面是我的跑步配置中的参数:

    -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -startupUrl Synesis7cms.html -logLevel DEBUG -port 8888 -war C:\workspace\cms\src\main\webapp -codeServerPort 9997 com.synesis7.cms.Synesis7cms 
    

    有人可以请指点我在正确的方向吗?我仍在学习Maven,所以我猜它与我的pom有关,但我也注意到GWT和eclipse插件之间的集成有时可能会有问题。

    非常感谢, 米奇

  • 回答

    1

    我相信正确的方向是使用的src/main/webapps中为您战争文件夹:http://code.google.com/eclipse/docs/faq.html#gwt_with_maven

    +0

    感谢您的建议,但也许我不不了解GWT,Maven和Eclipse如何一起玩。我配置了动态Web模块构面,它创建了一个Web Resources文件夹,其中包含我的src/main/webapp文件夹。在项目属性 - > Google - > Web应用程序中,我选中了“该项目有一个WAR目录”,并将其指向src/main/webapp。我没有选中“从此目录启动并部署”。我一直在遵循Mojo gwt-maven-plugin站点推荐的项目组织:http://mojo.codehaus.org/gwt-maven-plugin/user-guide/project。html – mcfar

    +1

    基本上,你的src/main/webapp必须保持为“sources”目录,所以你不想用'-war src/main/webapp'运行DevMode,因为它会产生一些东西(nocache.js等等) ) 在那里。另外,你的依赖和编译类不在src/main/webapp/WEB-INF/lib中;但它们位于target/yourmodulename-version /中,所以这就是你想用作WAR目录的东西。 Eclipse应该已经在那里输出你的编译类了,所以重新加载服务器(从Eclipse中的DevMode视图)应该可以工作。 –

    +0

    我很感谢你的输入,它解释了我对gwt,maven和eclipse的一些误解。我理解你提供的链接的方式是使用src/main/webapp作为war目录并运行dev模式,但是你只是说使用它作为源,并将我的运行配置设置为使用目标目录。那么,我是否只是将我的运行配置更改为使用目标文件夹,因为我已经根据您的链接和mojo链接配置了我的项目?我仍然不确定如何将未更改的文件检入svn,因为我知道目标和webapp文件夹在构建时被删除。 – mcfar