当前位置: 首页 > 知识库问答 >
问题:

覆盖jar META-INF/资源不可预测中的JSP文件

端木淇
2023-03-14

我正在构建一个模块化Web应用程序,其中包含一些打包在jar依赖项(不同模块)中的Spring组件。此jar还包含一些JSP资源,例如:

 - Module
     + src/main/resources/META-INF/resources/module/*.jsp

现在,我想在应用程序中使用以下结构重写特定的JSP。

 - App
     + src/main/resources/META-INF/resources/module/menu.jsp

使用tomcat7:run运行应用程序时,有时会显示覆盖的菜单。但任何后续运行都将以旧运行结束。

使用tomcat7运行:run war更有希望。大多数运行新菜单。显示jsp。但当将应用程序部署到另一个Tomcat 7实例时,旧菜单再次可见。

菜单。jsp是使用pageContext包含的。包括(“/module/menu.jsp”) 由自定义标记调用。

如何使这种资源覆盖更可靠?我完全不知所措,因为它似乎是随机工作的。我希望有人能给我们一些启示。

不确定这是否相关,但为了能够使用组件扫描,我需要使用以下插件配置解压缩jar类。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>unpack</id>
            <phase>process-resources</phase>
            <goals>
                <goal>unpack</goal>
            </goals>
            <configuration>
                <overWriteIfNewer>false</overWriteIfNewer>
                <artifactItems>
                    <artifactItem>
                        <groupId>my.company</groupId>
                        <artifactId>my-dependency</artifactId>
                        <version>1.0-SNAPSHOT</version>
                        <type>jar</type>
                        <outputDirectory>${project.build.directory}/classes</outputDirectory>
                        <includes>**/*.class</includes>
                    </artifactItem>
                </artifactItems>
            </configuration>
        </execution>
    </executions>
</plugin>

共有1个答案

慕宪
2023-03-14

拉扯了很多头发后,我意识到我犯了一个非常简单的错误。我现在搬家了

- App
     + src/main/resources/META-INF/resources/module/menu.jsp

到地点

- App
     + src/main/webapp/module/menu.jsp

一切正常。

 类似资料:
  • 我正在尝试制作maven配置文件,它将使用两种不同的DBMS。DBMS配置存储在maven配置文件中。Web应用程序从src/main/resources中的文件connection.properties获取设置。在src/test/resources中还有一个标题相同的类似文件connection.properties,该文件只应在测试lyfecycle Maven期间上传。然后spring c

  • 问题内容: 我无法从存储在WEB- INF中的JSP访问某些图像和CSS文件。我的servlet调用了JSP,并且全部加载正常,但是页面无法找到图像和CSS文件。我对这种事情很陌生,希望能提供帮助。我知道过去对此存在一些疑问,我已经尝试过这些建议提出的建议,但是我似乎无法回避它。这是JSP的内容(我尝试了一堆不同的方法): 这是我的目录结构: http://gyazo.com/0a7aea0a44

  • 有时我会看到这样的警告: 如果我重写或不重写布局资源会发生什么?

  • 我正在寻找一种方法来覆盖GuiceServletContextListener中与guice绑定的jersey资源。我的代码,我正在努力工作: 但不幸的是,这不起作用,虽然我不能像接口一样将jersey资源绑定到实现,但只有work。但是这样的绑定是不可能覆盖的。如果我试图用覆盖,我会收到一个错误而@Path应该是唯一的。那么我的用例有什么解决方案吗?

  • 方法:获取 现状:404 注意:URL应该是http://localhost:8080/dragonline/resources/img/icon.png()

  • 我不认为这篇文章我如何覆盖laravel资源路由默认方法?解决了我的问题。 正常的资源路由是“索引”显示所有项目。我想做的是让“索引”显示一个特定ID的所有相关项目。 因此,当我从列表中选择一个教室时,我需要调用的索引操作,以显示该特定教室的所有人员,就像它的索引函数一样。 所以我替换了默认的资源路由 与 所以在我的控制器中,我有这样的内容: 在我的教室里,在一个特定的教室id上,我有这个 就我所