Cómo llamar a Nutch en un proyecto de red
main() y main() de la clase org.apache.nutch.Crawl.Crawl. Estos dos métodos solo son adecuados para que los programadores los abran manualmente durante la depuración, por lo que durante el desarrollo secundario. cuidadoso. Los dos métodos main() de la clase Crawl.Crawl solo son adecuados para que los programadores los abran manualmente durante la depuración, por lo que al desarrollar Nutch por segunda vez, se debe llamar al rastreo en jsp,
Pasos
1: Cree un nuevo proyecto web, copie el código fuente de Nutch en el directorio src en la carpeta de complementos y copie el código fuente de Nutch en el directorio src en la carpeta de complementos. Copie estos paquetes de src/java en nutch a src
2: Copie todos los archivos de configuración en la carpeta conf en nutch al directorio src y copie el archivo nutch.job en nutch Vaya al directorio src
3: Copie el archivo jar en la carpeta lib en nutch al web-inf en lib
4 Vuelva a crear una clase en src y use Esta clase llama a main() de rastreo
paquete valle.public static void main(String[] args) {String []arg = {"url.txt","-dir", "rastreado", "-profundidad", "10", "-topN", "50"};try {Crawl.main(arg);} catch (Exception e) {// TODO Catch generado automáticamente blocke.printStackTrace();}} }
3 A continuación, puede llamar a la clase de prueba en jsp. Por lo general, se producirá una excepción al llamar a la excepción -Xms100m -Xmx800m. El código es el siguiente Inyector: convierte la URL inyectada en una entrada de base de datos rastreada.
java.io.IOException: ¡El trabajo falló en org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1232) en org.apache.nutch.crawl.Injector.inject(Injector. java:160) en org.apache.nutch.crawl.Crawl.main(Crawl.java:1232) en org.apache.nutch.crawl.Injector.inject(Injector.java:160)Crawl.main(Crawl.java: 113) en Valley.test.test.main(test.java:10) en org.apache.jsp.MyJsp_jsp._jspService(MyJsp_jsp.java:79) en org.apache.jasper.runtime .HttpJspBase.service(HttpJspBase.java :1232)servicio(HttpJspBase.java:94) en javax.servlet..JIoEndpoint$Worker.run(JIoEndpoint.java:454) en java.lang.Thread.run(Thread.java:619)
Esto se debe a que Tomcat tiene memoria insuficiente. No es difícil mencionar la solución específica. No olvide modificar el archivo de configuración en src.
Finalmente, a todos les debe resultar extraño. No se dice nada sobre dónde debe colocarse url.txt en tomcat/bin. No entiendo las razones específicas. La premisa es que si usa Tomcat como servicio web, el jdk del proyecto debe usar jdk1.6, de lo contrario la compilación no pasará.