2009-06-12 16 views
8

Łatka jest nutch 0,9: http://cvs.tty.org/~butch/blog/nutch_0.9_OR.patchJak zastosować poprawkę do projektu Java?

Jak należy zastosować poprawkę prawidłowo?

jest system operacyjny Windows XP

Dokładniej, używam zaćmienie debugować nutch projektu.

Oto moja próba:

D:\nutch-0.9.bak>patch -p0 < nutch_0.9_OR.patch 
Hmm... Looks like an ed script to me... 
(Patch is indented 5 spaces.) 
The text leading up to this was: 
-------------------------- 
|diff -rBNu src.orig/java/org/apache/nutch/analysis/NutchAnalysisConstants.java src/java/org/apache/nutch/analysis/NutchAnalysisConstants.java 
|--- src.orig/java/org/apache/nutch/analysis/NutchAnalysisConstants.java  2009-03-10 11:34:01.000000000 -0700 
|+++ src/java/org/apache/nutch/analysis/NutchAnalysisConstants.java  2009-03-10 14:11:55.000000000 -0700 
|@@ -4,30 +4,34 @@ 
| public interface NutchAnalysisConstants { 
| 
| int EOF = 0; 
|- int WORD = 1; 
|- int ACRONYM = 2; 
|- int SIGRAM = 3; 
|- int IRREGULAR_WORD = 4; 
|- int C_PLUS_PLUS = 5; 
|- int C_SHARP = 6; 
|- int PLUS = 7; 
|- int MINUS = 8; 
|- int QUOTE = 9; 
|- int COLON = 10; 
|- int SLASH = 11; 
|- int DOT = 12; 
|- int ATSIGN = 13; 
|- int APOSTROPHE = 14; 
|- int WHITE = 15; 
|- int WORD_PUNCT = 16; 
|- int LETTER = 17; 
|- int CJK = 18; 
|- int DIGIT = 19; 
|+ int QOR = 1; 
|+ int WORD = 2; 
|+ int ACRONYM = 3; 
|+ int SIGRAM = 4; 
|+ int IRREGULAR_WORD = 5; 
|+ int C_PLUS_PLUS = 6; 
|+ int C_SHARP = 7; 
|+ int PLUS = 8; 
|+ int MINUS = 9; 
|+ int QUOTE = 10; 
|+ int COLON = 11; 
|+ int SLASH = 12; 
|+ int LPAREN = 13; 
|+ int RPAREN = 14; 
|+ int DOT = 15; 
|+ int ATSIGN = 16; 
|+ int APOSTROPHE = 17; 
|+ int WHITE = 18; 
|+ int WORD_PUNCT = 19; 
|+ int LETTER = 20; 
|+ int CJK = 21; 
|+ int DIGIT = 22; 
| 
| int DEFAULT = 0; 
| 
| String[] tokenImage = { 
|  "<EOF>", 
|+ "\"OR\"", 
|  "<WORD>", 
|  "<ACRONYM>", 
|  "<SIGRAM>", 
|@@ -39,6 +43,8 @@ 
|  "\"\\\"\"", 
|  "\":\"", 
|  "\"/\"", 
|+ "\"(\"", 
|+ "\")\"", 
|  "\".\"", 
|  "\"@\"", 
|  "\"\\\'\"", 
|diff -rBNu src.orig/java/org/apache/nutch/analysis/NutchAnalysis.java src/java/org/apache/nutch/analysis/NutchAnalysis.java 
|--- src.orig/java/org/apache/nutch/analysis/NutchAnalysis.java 2009-03-10 11:34:01.000000000 -0700 
|+++ src/java/org/apache/nutch/analysis/NutchAnalysis.java  2009-03-10 14:11:55.000000000 -0700 
|@@ -56,7 +56,11 @@ 
|   queryString, (analyzer != null) ? analyzer : new NutchDocumentAnalyzer(conf)); 
|  parser.queryString = queryString; 
|  parser.queryFilters = new QueryFilters(conf); 
|- return parser.parse(conf); 
|+ try { 
|+  return parser.parse(conf); 
|+ } catch (ParseException pe) { 
|+  throw new IOException("Parse exception: " + pe); 
|+ } 
| } 
| 
| /** For debugging. */ 
|@@ -77,44 +81,60 @@ 
| String field; 
| boolean stop; 
| boolean prohibited; 
|+ boolean required; 
|  nonOpOrTerm(); 
|  label_1: 
-------------------------- 
File to patch: 

Odpowiedz

0
  1. Trzeba oryginalnego źródła (! W danej wersji)
  2. Musisz poprawki narzędzia Unix (mam kopię systemu Windows pochodzących z moje cenne UnxUtils, google to nazwa, aby znaleźć projekt SourceForge). No cóż, po prostu zrobiłem to, aby upewnić się, że nazwa jest właściwa: UnxUtils
  3. Zastosujesz łatkę, zmieni ona źródła
  4. Kompilujesz projekt.
+0

Ale moje pytanie brzmi, jak zastosować tę poprawkę? Zainstalowałem już to narzędzie. – omg

0

Czy masz Cygwin? Zainstalowanie tego da ci patch.exe, którego możesz użyć z powyższym (i mnóstwo innych bardzo przydatnych rzeczy).

Można zastosować poprawkę przy użyciu:

patch originalfile -i patchfile.patch -o updatedfile 
+0

Ale ta łata będzie modyfikować wiele plików. – omg

0

One: Zrób kopię zapasową kodzie.

Po drugie: Zrobiłeś kopię zapasową swojego kodu, prawda? 8-)

trzeci:

cd \path\to\nutch 
patch -p0 < nutch_0.9_OR.patch 
15

Skoro wspomniałeś Eclipse - kliknij prawym przyciskiem myszy na projekt, przejdź do Team -> Zastosuj poprawkę.

+0

To powinno pomóc! Ale skąd mogę wiedzieć, które pliki są modyfikowane? – omg

+0

Kreator zastosowania poprawki zrobi wszystko za Ciebie. –

+0

Ale muszę mieć listę plików, które są modyfikowane, jak? – omg

1

Jestem zakładając następujący:

  • UnxUtils zainstalowanych w C: \ unxutils
  • "C: \ unxutils \ bin" i "C: \ unxutils \ usr \ Local \ wbin "zawarte w zmiennej PATH.
  • pliki nutch w C: \ nutch-0,9
  • nutch_0.9_OR.patch konwertowane do ograniczników linii okien indziej dostaniesz błąd jak ten „Assertion failed: przystojniak, plików patch.c, linia 321"
  • nutch_0.9_OR.patch skopiowane do katalogu C: \ nutch-0,9

Następnie otworzyć wiersza poleceń cd C: \ nutch-0,9 patch.exe -p0 -u -i nutch_0.9_OR.patch

Ukończony!

4

Powinieneś kliknąć prawym przyciskiem myszy na projekt, łatkę Team/Apply.

Trzeci etap kreatora (łatka do przeglądu) zawiera sekcję dotyczącą łaty, w której wymienione są zmodyfikowane pliki źródłowe.

Powiązane problemy