No lwjgl in java library path

no lwjgl64 in java.library.path

Просто несколько раз подряд выполни одну и ту же операцию «genEclipseRuns», не удивлюсь что и часть текстур могла неверно загрузиться. Такое бывает когда градл пытается скачать все и сразу во много потоков, а твое интернет соединение не вывозит. Был даже какой то ключик в gradle.properties чтобы не качал так активно.
И, если вдруг, так пишет вообще про все asset’ы и/или ошибок не становится меньше, то у тебя проблема с подключением к серверу можанга, собственно от туда и берет градл.

Samual

Samual

Knob

Просто несколько раз подряд выполни одну и ту же операцию «genEclipseRuns», не удивлюсь что и часть текстур могла неверно загрузиться. Такое бывает когда градл пытается скачать все и сразу во много потоков, а твое интернет соединение не вывозит. Был даже какой то ключик в gradle.properties чтобы не качал так активно.
И, если вдруг, так пишет вообще про все asset’ы и/или ошибок не становится меньше, то у тебя проблема с подключением к серверу можанга, собственно от туда и берет градл.

Samual

, если вдруг, так пишет вообще про все asset’ы и/или ошибок не становится меньше, то у тебя проблема с подключением к серверу можанга, собственно от туда и берет градл.

will0376

Токсичная личность

Откатываешься до 1.12.2 forge 2840 и не мучаешься. Это ФГ2 всё еще, так что оно должно завестись норм

Samual

will0376

Токсичная личность

Samual

Samual

Samual

Просто несколько раз подряд выполни одну и ту же операцию «genEclipseRuns», не удивлюсь что и часть текстур могла неверно загрузиться. Такое бывает когда градл пытается скачать все и сразу во много потоков, а твое интернет соединение не вывозит. Был даже какой то ключик в gradle.properties чтобы не качал так активно.
И, если вдруг, так пишет вообще про все asset’ы и/или ошибок не становится меньше, то у тебя проблема с подключением к серверу можанга, собственно от туда и берет градл.

Получилось! Ура на 3 день. Кстати, я правильно сделал то, что сразу после завершения загрузки всей этой дребедятины, я импортировал проект в eclipse. Больше ничего не надо? И кстати, какая конфигурация запуска должна быть — _-

Читайте также:  Java запустить другую программу

Samual

Просто когда я кодил на 1.7.10, я создавал новую конфигурацию: Java Application, назвал как-нибудь, НИКАКИХ аргументов и прочей фигни не делал, а просто указал там Main class (изначально делал наугад, тыкал все классы, пока не заработает, а потом наконец запомнил какой нужен. Сейчас опять забыл 😊😜). Сейчас в этой 1.15.2 при импорте проекта у меня уже автоматом есть какие-то уже 3 конфигурации: runClient, runData, runServer. Да ещё и конфиги какие-то в каждой из них есть. Зачем это вообще? Да и теперь, когда создаёшь новую конфигурацию (как я раньше делал) ничего не работает. Объясните пожалуйста зачем это сделано и в чём разница между runClient, runData, runServer? Впринципе Server и Client понятно, а Data — такой мазнятины не видовал

Источник

No LWJGL in java.library.path

Okay, so I know I need to set the path to the native files. I can do this in Eclipse, by going to the VM arguments and using -Djava.library.path=, but when I export, it says that the VM arguments aren’t kept after exporting, but it can be set in the console while running it. I am running Mac OS X. How do I set that using Terminal?

3 Answers 3

It should be exactly the same, just provide -Djava.library.path=»your_path» to java when you run it:

java -Djava.library.path="your_path" -classpath "your_classpath" your.main.Class 

\$\begingroup\$ Wouldja look at that. If only my 30 minutes of Google searching could have just said that. Thanks! \$\endgroup\$

I just wrote a nifty way to solve this problem, without needing to define the library beforehand. Which is more useful when you actually deploy your game. Basically it goes like this:

  1. Detect OS and architecture
  2. Copy LWJGL native binaries from inside your .jar file to game directory
  3. Dynamically set library path for Java to the natives folder in your game directory
  4. Continue with the rest of your game loading

This needs to happen first thing. So at the beginning of your main function goes:

Then you have your getPlatform() function (step 1 from above), you can get the OS details like so:

String OS_Arch = System.getProperty("os.arch").toLowerCase(); String OS_Name = System.getProperty("os.name").toLowerCase(); 

Use those to return an enum that defines your OS and architecture, i.e. Win_X86 .

Читайте также:  Как поставить карты css

Then you load your natives that are packaged in your .jar file (step 2 from above). Depending on the OS and architecture you’ll load certain files from the LWJGL native binaries. For example Win_X86 would be something like:

String path = Main.class.getProtectionDomain().getCodeSource().getLocation().getPath(); copyFileFromJar("/assets/native/windows/jinput-raw.dll", path + "/native/jinput-raw.dll"); copyFileFromJar("/assets/native/windows/jinput-dx8.dll", path + "/native/jinput-dx8.dll"); copyFileFromJar("/assets/native/windows/lwjgl.dll", path + "/native/lwjgl64.dll"); copyFileFromJar("/assets/native/windows/OpenAL32.dll", path + "/native/OpenAL32.dll"); 

Where copyFileFromJar() just makes an input stream and an output stream, then streams until it can stream no more. The input stream is from the native file in your .jar and the output is the destination file (which probably needs to be created first!)

Finally, tell Java about this new library resource (Step 3 from above):

System.setProperty("java.library.path", path + "native/"); Field fieldSysPath = ClassLoader.class.getDeclaredField("sys_paths"); fieldSysPath.setAccessible(true); fieldSysPath.set(null, null); 

Источник

No lwjgl in java library path

Я в Eclipse написал одну небольшую программу (с использованием lwjgl и slick2d). В самом эклипсе она запускается, работает и все такое (в общем как и должно быть). Когда я я экспортирую свою программу в Runnable JAR file и пытаюсь его запустить, то ничего не выходит! Я попробовал запустить через консоль командой (да и вообще все какие только в голову комбинации пришли испробовал):

java "-Djava.library.path=C:/Users/Никита/Desktop/lwjgl-2.9.3/native/windows" -jar lol.jar core.Game

У меня в эклипсе в параметре запуска стоит как раз -Djava.library.path=C:\Users\Никита\ Desktop\lwjgl-2.9.3\native\windows и там все работает, а тут нет! Как это исправить?

А, ой. Ну просто я уже сюда так скопировал, вот сейчас попробовал запустить вот так:

java -Djava.library.path=C:/Users/Никита/Desktop/lwjgl-2.9.3/native/windows -jar lol.jar core.Game

Но он все равно выдает такую ошибку. Вообще там в экспорте есть 3 разных вида «экспорта», где он (вроде как) либо закидывает в джарник все другие jar библиотеки, либо закидывает их содержимое, либо копирует их в соседнюю папку. Вот что мне лучше выбрать, чтобы просто другие люди на других компах могли просто запускать прогу не используя всякие командные строки и прочее? Так вообще реально сделать?

Если выбираю экспорт «Extract required libraries into generated JAR», то при запуске выдает ошибку:

Показать скрытое содержимое

Если «Package required libraries ingo generated JAR» выдает такую:

Показать скрытое содержимое

Если «Copy required libraries into a sub-folder next to the generated JAR»

Показать скрытое содержимое

Я через Process Hacker смотрел какой командой eclipse запускает программу и пытался запустить такой же командой через bat файл, но ничего не вышло из-за этой ошибки!

Читайте также:  Очень красивая кнопка html

1. Если вы копируете либу в jar или рядом, то зачем вам задание java.library.path ?
2. Вы же видите, что в консоли ваше имя пользователя коверкается. Закиньте либ в папку с английским путем.

Я через Process Hacker смотрел какой командой eclipse запускает программу и пытался запустить такой же командой через bat файл, но ничего не вышло из-за этой ошибки!

А прочитать офф справку по командам для java слабо было? Может еще дизасмом ИДЕ поковырять? Вы в курсе, что ИДЕ может запускать совершенно по другому, например, для отладочных целей?

1. Если вы копируете либу в jar или рядом, то зачем вам задание java.library.path ?
2. Вы же видите, что в консоли ваше имя пользователя коверкается. Закиньте либ в папку с английским путем.

А прочитать офф справку по командам для java слабо было? Может еще дизасмом ИДЕ поковырять? Вы в курсе, что ИДЕ может запускать совершенно по другому, например, для отладочных целей?

1. Я не знаю зачем мне задание этого пути, но судя по всему без этого указания ничего точно работать не будет.
2. Ой, я думал это просто специфическое отображение символов. Сейчас перенес в место с английским путем и прога начала запускаться через батник, спасибо!

Я правда очень много гуглил эту ошибку, день или два рылся на англоязычных форумах/не форумах вообще всему что может как-то помочь, много где нужно было указать вот именно этот путь.

А у меня теперь возник еще один вопрос: у меня есть этот lwjgl64.dll который со всем остальным добром лежит на компьютере, есть bat файл которым я все это добро запускают и есть сама моя прога в виде jar файла. Можно ли как-то сделать так, чтобы мне не приходилось запускать jar файл через батник? И можно ли сделать так, чтобы он эти файлы (lgwjgl64.dll и т.д.) брал не из того пути по моему компьютеру, а непосредственно из своего jar файла (т.е. эти dll файлы и так лежат в моем джарнике, но я не понимаю как к ним путь указать и как программу заставить при всем этом запускться без батника)?

Источник

Оцените статью