如何在tomcat上部署war时跳过图像

如何在tomcat上部署war时跳过图像,tomcat,war,Tomcat,War,我有一个Java web应用程序。我正在使用ant文件将其部署为war到Tomcat服务器上。我可以成功地做到这一点。请查找下面的build.xml 现在的挑战是,我的应用程序中有100000张图片,它们位于web文件夹下,并被复制到war根文件夹中 如果我在war文件的根文件夹中创建一个包含100000个图像的war,那将是一个非常头痛的问题 每次我更改JSP或java代码中的任何内容时,新的war会再次复制war文件夹中的100000个图像,这需要1个多小时来构建war文件 如何确保我在wa

我有一个Java web应用程序。我正在使用ant文件将其部署为war到Tomcat服务器上。我可以成功地做到这一点。请查找下面的build.xml 现在的挑战是,我的应用程序中有100000张图片,它们位于web文件夹下,并被复制到war根文件夹中

如果我在war文件的根文件夹中创建一个包含100000个图像的war,那将是一个非常头痛的问题

每次我更改JSP或java代码中的任何内容时,新的war会再次复制war文件夹中的100000个图像,这需要1个多小时来构建war文件

如何确保我在war中的图像文件夹不会在每次部署时被一次又一次地复制

<!-- setting classpath -->


<path id="base.class.path">
    <pathelement location="lib/joda-time-1.6.1.jar" />
    <pathelement location="lib/fedExTrackingWebService.jar" />
    ....
    .....
</path>


....
.....


正在清理${build.dir}
创建生成目录
编译源文件
构建war文件
向本地Tomcat部署.war

您可以尝试增量修改war文件:

<target name="war" update="true">

您可以将图像初步包含到war文件中,然后在复制任务中将其从文件集中排除

例如:



你也可以考虑添加<代码>复制=“保存”<代码>到Ant战争任务。它不认为这与你的问题有直接关系,但仍然如此

但根据:

请注意,Zip格式允许多个相同的文件 存在于单个存档中的完全限定名称。这是 记录为对不知情的用户造成各种问题。如果你 要避免这种行为,必须将重复属性设置为 默认值“add”以外的值


还有一个。

您能更具体一点吗?如何创建war文件?maven war插件、ant war任务、jar-cf等?其ant war任务-请在构建文件上方找到。我正在使用ant部署war。您可以尝试将
update=“true”
添加到您的
war
任务中。update=“true”--使用它是否会复制修改过的java和JSP文件?我希望修改后的java和JSP文件每次都成为war的一部分,但不希望一次又一次地复制图像。是的,它执行时间戳比较。在我的index.JSP中有一条语句“别担心”。这是一个非常古老的项目,有数千个JSP。我无法更改图像路径。它的工作原理是这样的—“images/frontpage/emoges/rbdi_revolution.jpg”,但不适用于此—“/images/frontpage/emoges/rbdi_revolution.jpg”。现在所有JSP都有这样的链接-“/images/frontpage/emoges/rbdi_revolution.jpg”,所以我应该怎么做呢?特别是,我的上下文路径是myApp。我的战名也是myApp。目前,图像文件夹位于此myApp下。但图像不会被拾取?但是,如果在webapps中创建图像文件夹,它会工作,或者如果我将路径更改为“images/frontpage/emoges/rbdi_revolution.jpg”。但目前这两种选择似乎都不可行?
<target name="war" update="true">
<target name="copy" depends="compile">
    <copy todir="${build.dir}">
        <fileset dir="${web.dir}">
           <exclude name="images/**"/>
        </fileset>
    </copy>