org.jdesktop.application 依存関係を使用しており、いくつかのリソースをロードしたいと考えています。gradle プロジェクトは次のように構成されています。
- main.java.myproject
- main.resources
を使用してリソース マップを読み込みたい場合getResourceMap()
。プロパティを読み取らないため、これらのファイルは に保存する必要があると思いますmain.java.myproject.resources
。プロジェクト構造を維持するためにリソース マップのパスを設定するにはどうすればよいですか?
コード例:
public MyView(SingleFrameApplication app) {
super(app);
initComponents();
ResourceMap resourceMap = getResourceMap();
resourceMap.getInteger("timeout"); // <-- NullPointerException
}
スタックトレース:
Oct 19, 2019 4:00:01 PM org.jdesktop.application.Application$1 run
SEVERE: Application class myproject.MyApp failed to launch
java.lang.NullPointerException
at myproject.MyView.<init>(MyView.java:156)
at myproject.MyApp.startup(MyApp.java:30)
at org.jdesktop.application.Application$1.run(Application.java:171)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Exception in thread "AWT-EventQueue-0" java.lang.Error: Application class myproject.MyApp failed to launch
at org.jdesktop.application.Application$1.run(Application.java:177)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.NullPointerException
Caused by: java.lang.NullPointerException
at myproject.MyView.<init>(MyView.java:156)
at myproject.MyApp.startup(MyApp.java:30)
at org.jdesktop.application.Application$1.run(Application.java:171)
... 13 more