0

我正在将现有项目迁移到 AS7。我的耳朵结构如下,请各位大神帮忙看看结构是否正确。因为我在部署时收到 ClassNotFoundException,所以我认为我将 jar 放在了错误的位置。

Ear
  webmodule.war
  Ejbmodule.jar

当我提取耳朵时。

META_INF
       |-> maven
                |-> com.myapp.mss
                |-> ear
                    pom.properties
                    pom.xml
       application.xml
       Manifest.mf
one.jar
two.jar
three.jar
My-ejb-module.jar
My-web-module.war

JBoss EAP 7 是否需要 lib 文件夹?

我正在使用 Maven 进行构建。

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ejb-plugin</artifactId>
            <version>2.2.1</version>
            <configuration>
                <ejbVersion>3.0</ejbVersion>
                <generateClient>false</generateClient>
                <jarName>myappejb-${env}-${pom.version}</jarName>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-ear-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                    </manifest>
                </archive>
                <finalName>myapp-${env}-${pom.version}</finalName>
                <modules>
                    <webModule>
                        <groupId>com.myapp.mss</groupId>
                        <artifactId>webModule</artifactId>
                        <contextRoot>/myapp</contextRoot>
                        <bundleFileName>mssweb-${env}-${pom.version}.war</bundleFileName>
                    </webModule>
                </modules>
            </configuration>
        </plugin>
4

1 回答 1

0

可部署文件放置在 EAR 的根目录中。依赖项 JAR 应该放在 EAR 的 lib 目录中。您可以通过使用 EAR 部署描述符中的 library-directory 标记来使用自定义值覆盖 lib 目录。

XSD 中的 library-directory 标记的文档:

library-directory 元素指定应用程序包中目录的路径名,相对于应用程序包的顶层。此目录中所有名为“*.jar”的文件必须在此应用程序包中包含的所有组件的类路径中可用。如果未指定此元素,则搜索名为“lib”的目录。空元素可用于禁用搜索。

于 2018-10-19T13:31:30.313 回答