1

我正在尝试打包一个包含阀门的 jboss AS7.5 模块(RedHat EAP 6.4)。该阀门需要绑定到 tomcat-catalina-xyzjar 随附的 AuthenticatorBase,据我所知,它本身并不是一个可下载的模块。所以,我需要将该 jar 构建到我的模块中,使用 maven 插件来打包依赖项。

问题是,依赖项 org.apache.tomcat:tomcat-catalina:xyz 的 GAV 包括 AS 中包含的库,即 servlet 库。如果我打包 catalina 依赖项,使用执行此操作的 maven 插件,我会得到一堆不必要的 jar,它们会在运行时破坏我的模块。

有没有办法

  1. 只打包我想要的罐子?
  2. 找到一个不同的依赖项,它只包含 tomcat 阀门(即,包含 org.apache.catalina.authenticator.AuthenticatorBase 的 jar)绑定?

或者,最好是否有一个已经存在用于此目的的模块,我可以在我的 module.xml 文件中将其作为模块依赖项引用?

<dependencies>
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-catalina</artifactId>
        <version>${tomcat-catalina.version}</version>
    </dependency>
    ...
</dependencies>

包括jars:tomcat-catalina、tomcat-servlet、tomcat-juli、tomcat-annotations等。

<build>
    <plugins>
        <plugin>
            <!-- NOTE: We don't need a groupId specification because the group is 
                org.apache.maven.plugins ...which is assumed by default. -->
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.0.0</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id> <!-- this is used for inheritance merges -->
                    <phase>package</phase> <!-- bind to the packaging phase -->
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
   ...
   </plugins>
</build>

如何在我的打包模块中只获取 tomcat-catalina.jar?

4

0 回答 0