1

我想完成我认为这些方向描述的内容。

我想从一个 rcp 平台应用程序中使用一个基于 maven 的外部项目。

我使用新的项目向导构建了一个新的基于 maven 的应用程序,其中包括一个基于 maven 的模块。我已将外部依赖项添加到基于 maven 的模块中。

我还在模块的 pom.xml 中添加了 publicPackages 部分。

当我右键单击模块并转到 ProjectProperties->PublicPackages 时,我可以看到带有复选标记的正确包。

我的 Maven 模块构建得很好。

但是,当我尝试将 maven-module 添加为另一个模块的依赖项时,找不到 PublicPackages 中列出的包。

如果我在 nbm 内部窥视,我可以看到我想要暴露的罐子在 netbeans\modules\ext 下

有没有办法构建一个包装另一个 Maven 项目的 Maven 模块?

nbm-maven-plugin 文档包括一个听起来很像我想做的例子:

公共包声明

默认情况下,所有模块的包(和类)都是给定模块私有的。如果你想向其他模块公开任何 API,你需要在你的 pom.xml 中声明这些公共包。这不仅包括您自己的类,还包括与您的模块一起打包并公开以供其他模块重用的任何其他 3rd 方库类。

例如:

       <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>nbm-maven-plugin</artifactId>
           <version>3.8.1</version>
           <extensions>true</extensions>
           <configuration>
              <publicPackages>
                  <publicPackage>org.foo.api</publicPackage>
                  <publicPackage>org.apache.commons.*</publicPackage>
              </publicPackages>
           </configuration>
       </plugin>

有一个公开的包 org.foo.api(但不是 org.foo.api.impl 包)和任何以 org.apache.commons 开头的包,因此 org.apache.commons.io 和 org.apache.commons 都是如此。 exec 包暴露在外部

我显然没有正确解释这些文档,因为这种行为不是我所看到的。

4

0 回答 0