Java 导出nbm maven插件中的所有包
我正在Netbeans平台中创建一个包含一组jar依赖项的包装器模块,我想使所有的包(包括jar中的包)都可供依赖于此包装器的其他模块使用。到目前为止,通过在pom中配置nbm maven插件,我已经能够做到这一点:Java 导出nbm maven插件中的所有包,java,maven,netbeans-platform,maven-nbm,Java,Maven,Netbeans Platform,Maven Nbm,我正在Netbeans平台中创建一个包含一组jar依赖项的包装器模块,我想使所有的包(包括jar中的包)都可供依赖于此包装器的其他模块使用。到目前为止,通过在pom中配置nbm maven插件,我已经能够做到这一点: <build> ... <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>nbm-maven-plugin&
<build>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>nbm-maven-plugin</artifactId>
<configuration>
<publicPackages>
<package>org.w3c.dom.traversal</package>
<package>org.w3c.dom.views</package>
<package>org.w3c.dom.xpath</package>
<package>org.xml.sax</package>
<package>org.xml.sax.ext</package>
... etc
</publicPackages>
</configuration>
</plugin>
...
org.codehaus.mojo
nbm maven插件
org.w3c.dom.traversal
org.w3c.dom.views
org.w3c.dom.xpath
org.xml.sax
org.xml.sax.ext
... 等
问题是包装器有几十个罐子,每个罐子都有要导出的包。这使得pom文件非常长(到目前为止超过1K行的包,我不得不手动添加它们以使项目构建继续进行)
是否有任何方法或配置可以公开所有包而不在pom中列出它们?我使用这个插件:
在这里,您可以使用通配符定义包:
<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.codehaus.mojo
nbm maven插件
3.8.1
真的
org.foo.api
org.apache.commons*
oops!我犯了一个错误,我使用的是nbm插件,而不是jar插件。我可以指定*使其全部导出吗?呵呵,我这样做了,它不起作用,它不导出整个层次结构。然后我建议导出org.*和com.*并且您有90%:-)不起作用。在导出com.*
的包中,此导出一个级别使com.foo
公开,但不使com.foo.bar
公开