Java 我应该将WEB-INF提交到版本控制中,还是用Ant构建它?

Java 我应该将WEB-INF提交到版本控制中,还是用Ant构建它?,java,version-control,ant,Java,Version Control,Ant,Ant“”任务就是这样做的——根据任务属性创建WEB-INF和META-INF 什么是最佳实践? 将我所有的LIB保存在其他地方以供重用,比如log4j,然后使用“war”任务构建它们? 或者在WEB-INF下签入所有内容(包括JAR)? 我有多个应用程序可以重复使用相同的库、图像、htmls等。我们的开发人员使用RAD7/Eclipse 我很欣赏任何开源Java Web Apps repo布局的示例。如果您能够可靠地动态创建它,则不必签入它。那会引起混乱。在这种情况下,它类似于签入.class

Ant“”任务就是这样做的——根据任务属性创建WEB-INF和META-INF

什么是最佳实践? 将我所有的LIB保存在其他地方以供重用,比如log4j,然后使用“war”任务构建它们? 或者在WEB-INF下签入所有内容(包括JAR)? 我有多个应用程序可以重复使用相同的库、图像、htmls等。我们的开发人员使用RAD7/Eclipse


我很欣赏任何开源Java Web Apps repo布局的示例。

如果您能够可靠地动态创建它,则不必签入它。那会引起混乱。在这种情况下,它类似于签入.class文件


相反,请检入构建文件和用于创建它的工件,并让构建来处理它。

我们使用Eclipse。我发现,签入Eclipse不隐藏的文件对我们来说非常有用。你检查了项目,就可以开始了。不要再跑蚂蚁了,也不要忘记跑

如果您总是使用ant构建(例如,如果您来自Netbeans商店),那么只签入那些原始文件。所有从其他地方复制的文件都不应显式签入

我希望你能给我举个例子 开源Java Web应用程序repo布局

它使用经典的Maven目录布局:


我通常会签入WEB-INF文件夹,但不包括lib和classes文件夹。当我需要LIB时,我使用Maven或Ivy(ant任务)检索它们。似乎工作得很好,我只检查libs,如果它是一个极端的情况,我可能不会有常春藤缓存,或者lib是“特殊的”,并且不存在于其他任何地方

src
  main
    java
    resources
    webapp
      WEB-INF
        web.xml
  test
    java
    resources
pom.xml