簡體   English   中英

導入jar文件的內容不起作用

[英]Importing contents of jar file not working

很抱歉這個非常簡單的問題,但這使我整日生氣:

我正在嘗試創建一個簡單的程序,它將幫助我將一些jpg文件排序到文件夾中。 我想使用元數據提取器提取照片的拍攝日期( https://code.google.com/p/metadata-extractor/ )。

我的問題是,每當我嘗試編譯時,它說軟件包不存在。 我的jar文件與我的測試Java文件位於同一目錄中,以及我要測試的圖片。

我在Git Bash中設置類路徑,如下所示:

javac -cp "metadata-extractor-2.6.4.jar:." PictureSort.java

以及(幾行簡單的)代碼行:

import java.io.File;
import com.drew.metadata.Metadata;

class PictureSort
{
    public static void main(String[] args) 
    {
         File file = new File("IMG_1244.JPG");
         Metadata metadata = ImageMetadataReader.readMetadata(file);
    }
}

我已經檢查了Jar文件的內容以了解需要的內容,並且metadata.java包含在com / drew / metadata / Metadata中,因此這就是為什么我在第二行使用了import statement的原因。

但是...我收到以下錯誤:

PictureSort.java:2: error: package com.drew.metadata does not exist
PictureSort.java:9: error: cannot find symbol
     Metadata metadata = ImageMetadataReader.readMetadata(file);
            ^
 symbol:   class Metadata
 location: class PictureSort
 PictureSort.java:9: error: cannot find symbol
     Metadata metadata = ImageMetadataReader.readMetadata(file);
                                ^
 symbol:   variable ImageMetadataReader
 location: class PictureSort
 3 errors

我曾嘗試尋找答案,但似乎找不到適合我的解決方案。 誰能指出我在做錯事情的正確方向? 我在使用廣口瓶方面經驗不足。 非常感謝您的幫助。

我相信它是source.com.drew.metadata 原因程序包名稱始終以小寫字母開頭。 我也不認為軟件包名稱是這樣的。 嘗試com.drew.metadata

快速查看元數據Javadoc ,您會在頂部看到com.drew.metadata包中的Metadata

也就是說,您似乎有一個 jar,而不是已編譯的類:

javac -cp“ metadata-extractor-2.6.4-src.jar:”。 PictureSort.java

您需要下載包含已編譯類的.jar 看來您可以從以下位置進行操作: https : //code.google.com/p/metadata-extractor/downloads/detail?name=metadata-extractor-2.6.4.zip

下載.zip ,解壓縮,獲取.jar

完成此操作后,導入將是:

import com.drew.metadata.Metadata;

您將通過以下方式進行編譯:

javac -cp "metadata-extractor-2.6.4.jar:." PictureSort.java

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM