我想添加metadata-extractor-2.8.1.jar我的android studio项目.
但每次我点击"添加为库" jar文件不添加.仅记录a Null pointer exception.
以下是异常消息:
java.lang.NullPointerException
at com.android.tools.idea.actions.CreateLibraryFromFilesAction$CreateGradleLibraryFromFilesDialog.<init>(CreateLibraryFromFilesAction.java:152)
at com.android.tools.idea.actions.CreateLibraryFromFilesAction.actionPerformed(CreateLibraryFromFilesAction.java:90)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:164)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:266)
at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:926)
at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:124)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:236)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:105)
at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:512)
at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:44)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:532)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2739)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) …Run Code Online (Sandbox Code Playgroud) 我正在使用优秀的元数据提取器库。它非常适合从许多不同的图像格式中检索详细的元数据。
然而,对于一个项目,我只对提取“常见图像元数据”(如宽度和高度)感兴趣。在此用例中,API 非常冗长(AFIAK)。
我正在寻找一个方便的 API,例如:
final MetadataWrapper md = MetadataWrapper.readMetadata(file);
FileType type = md.getFileType();
int width = md.getWidth();
int height = md.getHeight();
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
我正在尝试使用NetBeans 在Java https://github.com/drewnoakes/metadata-extractor中将该库用于图像元数据提取。
我将文件metadata-extractor-2.7.0.jar导入到项目的jar文件夹中,就像自述文件所述,我只是这样做:
File file = fc.getSelectedFile ();
try {
Metadata metadata = ImageMetadataReader.readMetadata(file);
} catch ( ImageProcessingException ex ) {
Logger.getLogger ( UserInterface.class.getName() ).log ( Level.SEVERE, null, ex );
} catch ( IOException ex ) {
Logger.getLogger ( UserInterface.class.getName() ).log ( Level.SEVERE, null, ex );
}
Run Code Online (Sandbox Code Playgroud)
但我总是得到
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/adobe/xmp/XMPException
at com.drew.imaging.jpeg.JpegMetadataReader.<clinit>(Unknown Source)
at com.drew.imaging.ImageMetadataReader.readMetadata(Unknown Source)
at com.drew.imaging.ImageMetadataReader.readMetadata(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
开始使用此库之前,需要在Netbeans中进行配置吗?