Configuration de l'interface htmlunit dans un projet Eclipse?
Mon projet comprend l'interface htmlunit les pots et les téléchargements de certaines pages de contenu. Exécutable jar (qui comprend les libs, funct. de eclipse à l'exportation) de celle-ci, cependant, ne fonctionne que sur la machine sur laquelle je l'ai créé (sur différents il n'est pas exécuté).
EDIT: Il n'exécute pas comme il ne montre pas de Départ "Headless Browser" MessageBox au démarrage. J'ai utilisé Eclipse Indigo: Fichier > Export > Runnable jar > package requis libratries en jar généré
De l'aide, des dieux:
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: autre code, comme l'a demandé
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 ();
}
}
Pourquoi pensez-vous qu'il n'est pas en cours d'exécution sur une autre machine? Ma conjecture est que d'autres de la machine n'a pas les pots dans le classpath. Afficher le message d'erreur.
Sans une stacktrace, plus de code, etc, nous nous sommes un peu dans l'obscurité quant à la façon de répondre à votre question.
J'ai mis à jour ma Question. Veuillez réviser. Je ne vois aucune erreur ne se passe rien quand je "doubleclick" le fichier sur la machine cible. Suggérez-vous de l'éclipse n'a pas handeled le classpath? Je ne sais pas ce qu'est une stacktrace est, mon appologies.
Sans une stacktrace, plus de code, etc, nous nous sommes un peu dans l'obscurité quant à la façon de répondre à votre question.
J'ai mis à jour ma Question. Veuillez réviser. Je ne vois aucune erreur ne se passe rien quand je "doubleclick" le fichier sur la machine cible. Suggérez-vous de l'éclipse n'a pas handeled le classpath? Je ne sais pas ce qu'est une stacktrace est, mon appologies.
Exception in thread "main" java.lang.IllegalArgumentException: Cannot locate declared field class org.apache.http.impl.client.HttpClientBuilder.dnsResolver
J'ai eu l'exception ci-dessus, quelqu'un Peut-il fournir une solution pour cela?
OriginalL'auteur John | 2012-02-01
Vous devez vous connecter pour publier un commentaire.
C'est la façon de configurer l'interface htmlunit et comment l'exporter vers un runnable jar file dans eclipse:
Si cela a fonctionné pour un nouveau projet, puis de mettre à jour votre propre projet afin de refléter les mesures prises dans la liste. Espérons que cela aide
OriginalL'auteur Mosty Mostacho
Nouveau projet java avec les paramètres par défaut
bibliothèque de téléchargement dernière version de HTMUnit de Télécharger la Dernière interface htmlunit jar
Sélectionnez à nouveau les propriétés du projet-> Java Build Path -> aller à l'onglet bibliothèque et ajouter l'extrait de tous les pots de fichiers.
Créer une nouvelle classe avec une méthode main au sein de votre nouveau projet et de l'exécution d'un simple application et ajouter cette méthode dans la classe et de l'appeler dans la méthode principale.
OriginalL'auteur Sajid Hussain
J'ai essayé les réponses ci-dessus, et ils n'ont pas de travail pour moi.
Ils sont nécessaires, mais j'ai eu un projet web dynamique donc j'ai aussi besoin d'ajouter que tous mes .les fichiers jar du répertoire lib dans le répertoire WEB-INF.
par exemple Nom_projet\WebContent\WEB-INF\lib(toutes les .les fichiers jar que vous utilisez),
OriginalL'auteur neoslov