如何在模块内导入软件包(Maven)

问题描述 投票:0回答:1

我有一个包含子模块的mvn项目。在模块“ moduleC”之一中,包“ com.C.cto.wi.cipher.ssl”内部存在一个类。我需要能够从moduleA内的类使用/调用它。

父母pom:

<modules>
        <module>moduleA</module>
        <module>moduleB</module>
</modules>

moduleB pom:

<modules>
        <module>moduleC</module>
</modules>

现在,moduleC pom:

<dependency>
// List of dependencies
</dependency>
<build>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>                
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>SomeName</Bundle-SymbolicName>
                        <Bundle-Name>SomeName</Bundle-Name>
                        <Bundle-Activator>someActivator</Bundle-Activator>
                        <Import-Package>org.osgi.framework</Import-Package>
                        <Export-Package>com.C.cto.wi.cipher.ssl</Export-Package>
                        <Embed-Dependency>
                        </Embed-Dependency>
                        <Embed-Transitive>true</Embed-Transitive>
                    </instructions>
                </configuration>
            </plugin>
        </plugins>
        <finalName>someName</finalName>
    </build>

[现在,我在模块A中有一个类,该类需要访问包“ com.C.cto.wi.cipher.ssl”中提供的类。

要达到此目的需要什么pom修改?

java maven pom.xml
1个回答
0
投票

这取决于pom文件的结构,但是必须将moduleC作为依赖项包含在moduleA中。

此外,您已经在moduleC-info.java中导出了所需的软件包:

exports com.C.cto.wi.cipher.ssl;

最后,请确保使用以下命令修改moduleA-info.java:>

requires moduleC;
    
© www.soinside.com 2019 - 2024. All rights reserved.