システム Web カメラを使用して写真をキャプチャする必要があります。このために、私は を使用してwebcam capture library
います。3 つの jar ファイルが含まれていました。jar
依存関係の jar を含むすべてのものを単一のアプリケーションにパッケージ化したかったのです。
そこで、依存するjarファイルを解凍して、src
netbeansプロジェクトのフォルダーに配置するように並べ替えました。だから、私はそれらを抽出しました。そのうちの 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);
}
}