brown-uk / dict_uk

Project to generate POS tag dictionary for Ukrainian language
GNU General Public License v3.0
561 stars 73 forks source link

JDK 11 та tools.jar #163

Closed vsemozhetbyt closed 5 years ago

vsemozhetbyt commented 6 years ago
  1. Windows 7 x64, git bash for Windows.
  2. Встановив Java 8 звідси.
  3. Встановив JDK 11 звідси.
$ bin/expand_win.sh

> Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Could not find tools.jar. Please check that C:\Program Files\Java\jre1.8.0_181 contains a valid JDK installation.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 10s
1 actionable task: 1 executed
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

Маю дві директорії в c:\Program Files\Java\: jdk-11 та jre1.8.0_181, але в жодній не знаходиться tools.jar.

Що я зробив не так?

vsemozhetbyt commented 6 years ago

Здається, версії JDK вище 8 не сумісні:

JEP 220 also removes the well-known and frequently-referenced JARs rt.jar and tools.jar.

https://dzone.com/articles/jdk-9-is-the-end-of-the-road-for-some-features

arysin commented 6 years ago

В мене працює з jdk8 та jdk11 (для jdk11 недавно було виправлення #161). Щоправда на Linux. Можливо вам треба поміняти JAVA_HOME з jre на jdk (https://stackoverflow.com/questions/11345193/gradle-does-not-find-tools-jar)?

vsemozhetbyt commented 6 years ago

Не впевнений, что JAVA_HOME спрацює, оскільки tools.jar немає в jdk-*\lib починаючи з jdk 9, згідно інформації в https://dzone.com/articles/jdk-9-is-the-end-of-the-road-for-some-features

З jdk8 в мене запрацювало і без JAVA_HOME (щоправда я зміг побудувати лише hunspell, основні словники не збудувались через помилку нестачі пам'яті).

Можливо, треба перевірити пізніші версії на Windows ще комусь і за необхідності поновити інформацію в README.md щодо підтримки версій.

arysin commented 6 years ago

Гмм, спробував таке: 1) поставив git bash 2) git clone https://github.com/brown-uk/dict_uk 3) cd dict_uk 4) bin/expand_win.sh Згенерувало словники без проблем.

$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

Також стягнув jdk-11 і запустив так: JAVA_HOME=/c/bin/jdk-11/ bin/expand_win.sh все спрацювало (хоча трішки сварилося на java.lang.Object.finalize), ось версія:

$ PATH=/c/bin/jdk-11/bin java -version
java version "11" 2018-09-25
Java(TM) SE Runtime Environment 18.9 (build 11+28)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)
vsemozhetbyt commented 6 years ago

Можливо, tools.jar у вас міг залишитися від попередніх версій? Може, перевірити присутність його пошуком принаймні по c:\Program Files\Java\.

arysin commented 6 years ago

Обидві версії ставилися з нуля (8-ка встановлювачем, а 11-ка взагалі просто розпакований zip). c:\Program Files\Java\jdk1.8.0_171\lib\tools.jar в c:\bin\jdk-11\ tools.jar немає

vsemozhetbyt commented 6 years ago

З jdk 8 в мене теж працює. Можливо у вас працює з jdk 11 тому, що jdk 8 стоїть паралельно?

arysin commented 6 years ago

Не думаю, кожен JAVA_HOME повінстю відокремлений від іншого.

burunduk commented 6 years ago

Сьогодні перевірив на win7. Та openjdk11. Не вистачило пам'яті. Це якось можна обійти?

arysin commented 6 years ago

Наразі там потрібно 4G бо весь словник опрацьовується в пам'яті, зокрема сортування і виокремлення лем значно сповільниться (зараз в мене на i7 це займає десь 3 хв), якщо його робити частинами. З одного боку можна, звичайно, пробувати оптимізувати деякі речі, але це займає багато часу якого немає, та й комп'ютерів, де немає 4G пам'яті, здається зараз дуже мало. Воно не може виділити 4G чи виділяє й вже під час обробляння в ОС не вистачає?

vsemozhetbyt commented 6 years ago

(В мене 8 GB на Windows 7 x 64 і теж уривалось с помилкою нестачі пам`яті. Зміг тільки Hunspell побудувати).

arysin commented 6 years ago

Уривалося в процесі опрацювання вже?

vsemozhetbyt commented 6 years ago
Вивід з jdk1.8.0_181: ```sh $ bin/expand_win.sh Starting a Gradle Daemon, 4 incompatible and 1 stopped Daemons could not be reused, use --status for details > Task :compileJava > Task :compileGroovy > Task :processResources > Task :classes > Task :reverseAdvp Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 > Task :reverseVerbs Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 > Task :reverseAffix > Task :testExpand 20:45:07.908 [main] INFO Expand - Got 10 additional tags Loading affixes from directory ../data/affix 20:45:08.164 [main] INFO ExpandAll - Processing file alt.lst, 2 lines 20:45:08.199 [main] INFO ExpandAll - Processing file base.lst, 184 lines 20:45:08.467 [main] INFO ExpandAll - Processing file composite.lst, 452 lines 20:45:08.469 [main] INFO ExpandAll - Processing file dot-abbr.lst, 1 lines 20:45:08.470 [main] INFO ExpandAll - Processing file geography.lst, 1 lines 20:45:08.473 [main] INFO ExpandAll - Processing file names.lst, 23 lines 20:45:08.474 [main] INFO ExpandAll - Processing file twisters.lst, 1 lines 20:45:08.474 [main] INFO ExpandAll - Expanding 664 lines 20:45:09.434 [main] ERROR Expand - Additional tags not used: [бачилось verb, бачиться verb, бачся verb] 20:45:09.876 [main] INFO Util - Collecting words and lemmas... 20:45:10.110 [Thread-3] INFO Util - 2559 spelling word forms 20:45:10.129 [Thread-2] INFO Util - 2611 total word forms 20:45:10.130 [main] INFO Expand - Writing output files... 20:45:10.446 [main] INFO Util - Всього лем: 335 20:45:10.448 [main] INFO Util - No stats/ directory, skipping dict_stats.txt Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 > Task :expandForCorp FAILED Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 Error occurred during initialization of VM Could not reserve enough space for object heap FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':expandForCorp'. > Process 'command 'C:\Program Files\Java\jdk1.8.0_181\bin\java.exe'' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 24s 7 actionable tasks: 7 executed Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 $ ```

burunduk commented 6 years ago

Тоді слід добавити цю інформацію в Readme, про пам'ять?

arysin commented 6 years ago

Я спробував дати йому 3,5 Гб але воно вилітає через нестачу пам'яті, тож я додав в README.md пункт про вимогу вільних 4Гб

arysin commented 5 years ago

Це питання можна закрити чи ще маємо тут проблему?

vsemozhetbyt commented 5 years ago

Прнинаймні я свою проблему вирішив) Дякую.