如何将文件夹添加到由 maven cargo 插件启动的 Tomcat 容器的类路径中

Posted

技术标签:

【中文标题】如何将文件夹添加到由 maven cargo 插件启动的 Tomcat 容器的类路径中【英文标题】:How do I add a folder to the classpath of a Tomcat container being started by the maven cargo plugin 【发布时间】:2012-08-30 04:41:13 【问题描述】:

我正在使用 cargo-maven2-plugin 从我的 maven 构建中启动和停止一个 tomcat 容器。我能够为我的应用程序使用此功能,包括部署未包含在战争中的额外 jar 文件。但是,我正在部署的 war 文件需要在 tomcat 通用类路径中包含一个 groovy 脚本的目录/文件夹。

是否可以配置这个cargo插件来将文件夹添加到tomcat公共类路径中?请注意,我不希望将 jar 依赖项包含到此类路径中 - 只是 groovy 脚本的文件夹。

编辑:到目前为止,我已经通过复制包含此文件夹的新 catalina.properties 文件来解决此问题。这可行,但它是非常特定于容器的。

【问题讨论】:

【参考方案1】:

您可以添加一个部分以包含文件或目录,例如

              <plugin>
                    <groupId>org.codehaus.cargo</groupId>
                    <artifactId>cargo-maven2-plugin</artifactId>
                    <version>1.2.3</version>
                    <configuration>
                        <container>
                           ...
                        </container>
                        <configuration>
                            <properties>
                               ....
                            </properties>
                            <files>
                                <file>
                                    <file>$basedir/src/test/resources/alfresco-global.properties</file>
                                    <todir>shared/classes</todir>
                                </file>
                            </files>
                        </configuration>
                    </configuration>
                    <executions>
                        ...
                    </executions>
                </plugin>

Maven 2 Plugin Reference Guide 中的更多文档

【讨论】:

以上是关于如何将文件夹添加到由 maven cargo 插件启动的 Tomcat 容器的类路径中的主要内容,如果未能解决你的问题,请参考以下文章

扩展 maven cargo 插件 jvmargs

如何使用 Cargo maven 插件远程部署 EAR 到 JBoss 5.1.0.GA?

Maven2:Cargo 插件热部署 & Jonas 支持

如何配置 Maven Cargo 以使用嵌入式 Tomcat 6 服务器?

Cargo maven 插件 - 启动目标忽略配置,“运行”工作正常

使用 cargo 插件在 payara 上部署