我正在使用Flamingo ribbon开发Netbeans RCP应用程序,最近我对整个项目进行了"优化"。一切都很顺利,除了火烈鸟丝带不再显示。
我发现问题是在清单文件中缺少layer.xml
文件的路径。
在之前的(非maven)项目中,manifest
位于根目录中。在新的(maven)项目中,它位于src/main/nbm/manifest
下。我打开清单并插入layer.xml
文件的路径,但似乎没有注册Layer.xml
我的manifest是这样的:
Manifest-Version: 1.0
OpenIDE-Module: cz.project.appcore
OpenIDE-Module-Localizing-Bundle: cz/project/appcore/Bundle.properties
OpenIDE-Module-Layer: cz/project/layer.xml
OpenIDE-Module-Requires: org.openide.windows.WindowManager
OpenIDE-Module-Specification-Version: 1.0
我的项目结构是标准的maven结构:src/main/java/project/appcore
包含Bundle.properties
src/main/java/project/
包含layer.xml
src/main/nbm/
包含manifest.mf
你能告诉我问题在哪里吗?谢谢你的建议…
编辑:简而言之,在非maven项目中,Manifest中的到层的路径是存在的。在Maven项目中,我必须手动将它们复制到清单中,但这没有帮助,也没有显示任何内容。我做错了什么?
编辑:POM.xml:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>nbm-maven-plugin</artifactId>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<useDefaultManifestFile>true</useDefaultManifestFile>
</configuration>
</plugin>
</plugins>
</build>
任何非Java文件都要放在src/main/resources下,所以你的层文件应该在src/main/resources/cz/project/layer.xml下。
或者,请检查生成的jar文件中的manifest文件实际上显示了来自src/main/nbm/manifest.mf的条目。如果没有,请检查maven-jar-plugin配置。通常你的配置等于netbeans在创建一个新的nb平台模块时生成的内容。