为什么 Apache Tika 将 jar 文件的 mimetype 检测为 application/zip 而不是 application/java-archive?

Why Apache Tika detect mimetype of a jar file as application/zip instead of application/java-archive?

我正在尝试检测 jar 文件的 mime 类型,代码工作正常,但问题是 Apache Tika returns application/zip 而不是 application/java-archive java Jar 文件

我从 html

上传了 Jar 文件
for (FileItem item : fileItems)
        {  
            String mimeType;
            try { 
                mimeType = tika.detect(item.getInputStream());
                System.out.println(mimeType); // returns application/zip
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

所以我的问题是如何获取 jar 文件的 application/java-archive mime 类型。

有什么方法可以配置 Apache Tika 或者我做错了什么

感谢@Gagravarr 我能够解决这个问题

那么我的代码是什么样的

public static TikaConfig getTikaConfig() {
        TikaConfig tikaConfig = null;
        try {
            return new TikaConfig();
        } catch (TikaException | IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return tikaConfig;
    }
public static final TikaConfig tikaConfig = getTikaConfig();
MediaType mediaType = tikaConfig.getDetector()
                                        .detect(TikaInputStream
                                                    .get(item.getInputStream()), new Metadata());
                MimeType mimeType = tikaConfig.getMimeRepository().forName(mediaType.toString());
                String extension =  mimeType.getExtension().split("\.")[1];
System.out.println("File extention is :"+extension);

最重要的 gralde 配置

compile group: 'org.apache.tika', name: 'tika-core', version: '1.24.1'
runtime group: 'org.apache.tika', name: 'tika-parsers' version: '1.24.1'