0

我有两个不同的项目,两个项目使用相同的核心 jar 文件。第一个项目从 Web 服务获取数据,另一个项目不需要 Web 服务。在核心 jar 文件中,我从 web 服务 jar 文件加载了一些类,但是另一个项目不使用这个 web 服务 jar 文件。因此,当我将第二个项目部署到 Jboss 服务器或在 Maven 上构建时,它报告说第二个项目的核心 jar 文件中缺少一些不需要 Web 服务的类。

所以我想问如何在部署到 Jboss 或在 Maven 上构建时动态加载 java 类文件?仅在存在时才加载类,Java反射是一种选择吗?

4

1 回答 1

0

谢谢鲍里斯和桑德,

我有两个不同的工作区:NextiraOne 使用持久性项目、核心项目和 Shop 项目构建。使用持久性项目、核心、商店项目和附加 ws-client-franke 项目构建的 Franke 工作区。

我已经在核心项目的 pom.xml 中定义了这样的:

<profile>
        <id>default-mandant</id>
        <activation>
            <property>
                <!-- If no mandant was specified then activate this profile -->
                <name>!bl.config.mandant</name>
            </property>
        </activation>
        <properties>
            <!-- Choose your default mandant (nextiraone/franke) -->
            <bl.config.mandant>nextiraone</bl.config.mandant>
        </properties>
    </profile>


<dependency>
        <groupId>com.sharis.p7.customizer</groupId>
        <artifactId>ws-client-${bl.config.mandant}</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>

ws-client-franke 已经用于 Franke 工作区,但我不想定义另一个项目 ws-client-nextiraone,因为 nextiraone 工作区不需要 Web 服务。

因为两个工作区使用相同的核心项目,所以当我在核心中这样导入时

import com.sharis.p7.webservice.client.franke.order.delivery.DeliveryData;

并通过部署到 Jboss 服务器或在 Maven 上构建,进入 NextiraOne 工作区报告找不到 DeliveryData 类。

于 2013-10-17T08:34:08.507 回答