Wie, um das setup HtmlUnit in ein Eclipse-Projekt?

Mein Projekt umfasst htmlunit Gläser und downloads einige Seiten Inhalt. Ausführbare jar-Datei (die libs, funkt. der eclipse export) davon, jedoch funktioniert nur auf dem Rechner, auf dem ich Sie erstellt habe (auf anderen es nicht ausgeführt wird).

EDIT: Es wird nicht ausgeführt, da es nicht "Ab" Headless Browser" MessageBox beim Start. Ich benutzte Eclipse Indigo: Datei > Export > Runnable jar > Paket erforderlich libratries in die erzeugte jar -

Helfen, Götter:

import java.io.*;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.Page;
import com.gargoylesoftware.htmlunit.RefreshHandler;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.*;
import javax.swing.filechooser.FileSystemView;

EDIT: weitere code, wie verlangt

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 ();
}
}
  • Warum fühlst du es nicht ausführen auf der anderen Maschine? Meine Vermutung ist, dass die anderen Computer nicht über die erforderlichen jar-Dateien in classpath. Posten Sie den Fehler.
  • Ohne stacktrace, weiteren code, etc sind wir ein bisschen im Dunkeln, wie um Ihre Frage zu beantworten.
  • Ich aktualisiert meine Frage. Bitte überarbeiten. Ich sehe keinen Fehler, da passiert nichts, wenn ich "doubleclick", die Datei auf den Zielrechner. Meinst du eclipse noch nicht vorgeführt classpath? Ich weiß nicht was ein stacktrace ist, ich entschuldige mich.
  • Exception in thread "main" java.lang.IllegalArgumentException: Cannot locate declared field class org.apache.http.impl.client.HttpClientBuilder.dnsResolver Ich habe den oben genannten Ausnahme, Kann mir jemand die Lösung für dieses?
InformationsquelleAutor John | 2012-02-01
Schreibe einen Kommentar