0

システム Web カメラを使用して写真をキャプチャする必要があります。このために、私は を使用してwebcam capture libraryいます。3 つの jar ファイルが含まれていました。jar依存関係の jar を含むすべてのものを単一のアプリケーションにパッケージ化したかったのです。

そこで、依存するjarファイルを解凍して、srcnetbeansプロジェクトのフォルダーに配置するように並べ替えました。だから、私はそれらを抽出しました。そのうちの 2 つが同じパッケージ名で始まるorgので、それらを抽出してマージしました。重要な 3 番目のパッケージは package で始まりcomます。これら 3 つのディレクトリをプロジェクトsrcのフォルダーに配置しました。netbeans

問題はnetbeans、 がパッケージが存在しないと言うことです。ただし、Windowsからコンパイルした場合は同じプロジェクトです。command lineコンパイルして正常に実行され、すべてが正常に機能していました。

しかし、問題のあるライブラリを jar としてプロジェクトに追加すると、正常に機能し、それを抽出してsrcフォルダーに配置するだけで問題が発生しました。

このエラーが発生する理由と、netbeansこの問題を解決する方法だけを教えてください。

私のコード:

package screen;
import com.github.sarxos.webcam.*;     **//Error here**
import com.github.sarxos.webcam.log.*;  **// Error here**
import java.io.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Util extends TimerTask{
        private String filePath;
        private String type;
        private Timer timer;
        private Webcam webcam;
        public Util(String path,String type){
            this.timer=new Timer("Capture Timer");
            this.filePath=path;
            this.type=type;
            this.webcam=Webcam.getDefault();
        }
    public void capture() throws IOException{
           if(webcam!=null){
                webcam.open();
                BufferedImage image=webcam.getImage();
                Date date=new Date();
                ImageIO.write(image,type,new File(filePath+"_"+date.toString().replace(' ','_').replace(':','-')+"."+type.toLowerCase()));
                webcam.close();
           }
           else{
               webcam=Webcam.getDefault();
           }
    }
        public  void startCapturing(int period){
            this.timer.schedule(this,0,period);
        }
        public void stopCapturing(){
            timer.cancel();
        }
        public void run(){
                try{
                    capture();
                    System.out.println("Doing");
                }catch(Exception e){
                    e.printStackTrace();
                }
        }
        public static void main(String args[]){
            Util u=new Util("n082430_","PNG");
            u.startCapturing(60000);
        }
}
4

0 に答える 0