私のプロジェクトにはhtmlunit jarが含まれており、いくつかのページコンテンツをダウンロードしています。実行可能なjar(libs、eclipse exportのfunctを含む)は、作成したマシンでのみ動作します(実行されないものとは異なります)。EclipseプロジェクトでHtmlUnitを設定するには?
EDIT:それは起動時にメッセージボックス「ヘッドレスブラウザを起動」を示していないとして、それが実行されません。要求されたよう
public class MyTest
{
public static void main(String[] arguments) {
try{
JOptionPane.showMessageDialog(null, "Starting Headless Browser");
JFileChooser fr = new JFileChooser();
FileSystemView fw = fr.getFileSystemView();
String MyDocuments = fw.getDefaultDirectory().toString();
FileInputStream fstream = new FileInputStream(MyDocuments+"\\Links.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
String strLineID;
FileWriter xfstream = new FileWriter(MyDocuments+"\\NewPageContentList.txt");
BufferedWriter out = new BufferedWriter(xfstream);
while ((strLineID = br.readLine()) != null) {
strLine = br.readLine();
out.write(strLineID);
out.write("\r\n");
out.write(DownloadPage(strLine));
out.write("\r\n");
}
out.close();
in.close();
JOptionPane.showMessageDialog(null, "HeadLess Browser Process Has Finished");
}
catch (Exception e){
JOptionPane.showMessageDialog(null, "error");
}
}
public static String DownloadPage(String str){
final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);
webClient.setThrowExceptionOnScriptError(false);
try{
final HtmlPage page = webClient.getPage(str);
final String pageAsText = str_replace("\n","",str_replace("\r","",page.asText()));
return pageAsText;
}
catch(IOException e){
JOptionPane.showMessageDialog(null, "error");
}
webClient.closeAllWindows();
return "";
}
public static String str_replace (String search, String replace, String subject)
{
StringBuffer result = new StringBuffer (subject);
int pos = 0;
while (true)
{
pos = result.indexOf (search, pos);
if (pos != -1)
result.replace (pos, pos + search.length(), replace);
else
break;
}
return result.toString();
}
}
なぜ他のマシンで実行されていないと感じますか?私の推測では、他のマシンはクラスパスに必要なjarを持っていないということです。エラーを投稿してください。 –
stacktraceやコードなどがなければ、あなたの質問にどのように答えるか、暗闇の中に少しあります。 –
私は自分の質問を更新しました。改訂してください。私はターゲットマシン上のファイルを「ダブルクリック」しても何も起こらないので、何のエラーも表示されません。あなたはEclipseがクラスパスをハンドリングしていないことを示唆していますか?私はスタックトレースが何であるか、私の考え方はわかりません。 – John