Вопрос VSCode run java sources

b33slayer

Интересующийся
Участник
Сообщения
40
Розыгрыши
0
Репутация
0
Реакции
9
Баллы
345
Привет.

Подскажите, где нужно дописать\исправить конфиг vscode, чтобы он смог запускать исходники из самого редактора. Предполагаю проблема в путях к файлам, но как правильно исправить не знаю.

1682880682683.webp
 

указать месторасположение файла log.cfg, видимо путь к нему относительный, и возможно консоль находится не корневой папке сервера, вариантов много...

P.S. Поставь себе нормальный IDE, чем тебе редактор кода, когда есть IntelliJ.
 
@b33slayer, никогда не пользовался VSCode, тем более с такими целями.
Я думаю это все решается через launch.json, указав в нем "рабочую папку" и прочее
 
Запрещено публиковать исходный код без BB-кода — CODE
@òbiòbi верифицированный пользователь., в VS Code очень приятный фон, шрифты.

Посмотреть вложение 52048

Спасибо еще раз. Попробую в ближайшее время.
JSON:
{
   // Используйте IntelliSense, чтобы узнать о возможных атрибутах.
   // Наведите указатель мыши, чтобы просмотреть описания существующих атрибутов.
   // Для получения дополнительной информации посетите: Debugging in Visual Studio Code
   "version": "0.2.0",
   "configurations": [
      {
         "type": "java",
         "name": "GameServer",
         "request": "launch",
         "mainClass": "net.sf.l2j.gameserver.GameServer",
         "cwd": "${workspaceFolder}/core/java", - установка рабочей директории. Как подключить библиотеки хз.
         "projectName": "l2j"
      },
   ]
}

На это все, сдаюсь. Смотрел офф документацию, ничего не понял.

@Se1dhe, сейчас в ней сижу. Ничего не понятно, но оч интересно.
 
Последнее редактирование модератором:
установка рабочей директории. Как подключить библиотеки хз.
я конечно не вижу всей структуры папок проекта, но указывать в cwd путь до исходников скорее всего не правильно. Полагаю в cwd стоит указать путь до папки с необходимыми конфигами и прочим.
 
òbi[I][/I], в VS Code очень приятный фон, шрифты.
Это все причины, что бы не работать в нормальной ИДЕ?
P.S. \
 
@òbiòbi верифицированный пользователь., с воркдиром правильно прописано. там еще нужна команда для подключения библиотек. потому как вовремя запуска сирвира, он( сервер), жалуется на отсутствие библиотек.

@default_npc, ага) пасиб. сейчас вот сижу, осматриваюсь.
 
òbi[I][/I], с воркдиром правильно прописано. там еще нужна команда для подключения библиотек. потому как вовремя запуска сирвира, он( сервер), жалуется на отсутствие библиотек.
в том же launch.json, указать что-то из ниже указанного для подключения своих библиотек
  • classPaths - The classpaths for launching the JVM. If not specified, the debugger will automatically resolve from current project.
  • vmArgs - The extra options and system properties for the JVM (for example -Xms<size> -Xmx<size> -D<name>=<value>), it accepts a string or an array of string.
что-то типо того
JSON:
        {
            "name": "Java",
            "type": "java",
            "request": "launch",
            "classPaths": [
                "${workspaceFolder}/",
                "${workspaceFolder}/path/to/jar",
                "${workspaceFolder}/path/to/jar",
                ...
            ],
            "mainClass": "com.startup.class.name",
            "projectName": "project name",
            "vmArgs": [
                "-Xms64m -Xmx950m"
            ],
        }
 
Последнее редактирование:
@òbiòbi верифицированный пользователь., пробовал всевозможными вариациями путей к корневым исходникам, библиотекам. у меня работает только команда
Код:
 "cwd": "${workspaceFolder}/core/java"
Кстати, сейчас почему то все сразу заработало с cwd. То есть сервер запускается из редактора. Не открывал редактор пару дней. Мб вышли какие нибудь обновы, хз.

JSON:
      {
         "type": "java",
         "name": "GameServer",
         "request": "launch",
         "mainClass": "net.sf.l2j.gameserver.GameServer",
//         "cwd": "${workspaceFolder}/core/java",           
         "classPaths": [
            "${workspaceFolder}/core/java",
//            "${workspaceFolder}/core/lib",
//            "${workspaceFolder}/datapack"
         ],
         "projectName": "l2j-lisvus_887cdc45"
      },

С класс пасом вообще ничего работает. Выдает ошибку о том, что не может найти мейн класс.


Java:
Error: Could not find or load main class net.sf.l2j.gameserver.GameServer
Caused by: java.lang.ClassNotFoundException: net.sf.l2j.gameserver.GameServer

Пробую запускать исходники .
 
@b33slayer, ну как-то так запускается
JSON:
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "GameServer",
            "request": "launch",
            "mainClass": "com.l2jserver.gameserver.GameServer",
            "projectName": "L2J_Mobius",
            "cwd": "${workspaceFolder}/dist/game",
            "sourcePaths": [
                "${workspaceFolder}/java"
            ],
            "classPaths": [
                "${workspaceFolder}/dist/libs/c3p0-0.9.5.1.jar",
                "${workspaceFolder}/dist/libs/ecj-4.4.2.jar",
                "${workspaceFolder}/dist/libs/mchange-commons-java-0.2.20.jar",
                "${workspaceFolder}/dist/libs/mysql-connector-java-8.0.23.jar",
                "${workspaceFolder}/bin",
            ],
            "vmArgs": [
                "-version:1.8",
                "-server",
                "-Dfile.encoding=UTF-8",
                "-Djava.util.logging.manager=com.l2jserver.util.L2LogManager",
                "-XX:+AggressiveOpts",
                "-Xnoclassgc",
                "-XX:+UseConcMarkSweepGC",
                "-XX:+CMSParallelRemarkEnabled",
                "-XX:+UseParNewGC",
                "-XX:SurvivorRatio=8",
                "-Xmx4g",
                "-Xms2g",
                "-Xmn1g"
            ]
        }
    ]
}
то что указано в vmArgs думаю не стоит обращать внимание, я просто бездумно закинул туда все аргументы из батника
XML:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
    <classpathentry kind="lib" path="dist/libs/c3p0-0.9.5.1.jar"/>
    <classpathentry kind="lib" path="dist/libs/ecj-4.4.2.jar"/>
    <classpathentry kind="lib" path="dist/libs/mchange-commons-java-0.2.20.jar"/>
    <classpathentry kind="lib" path="dist/libs/mysql-connector-java-8.0.23.jar"/>
    <classpathentry including="**/*.java" kind="src" path="dist/game/data/scripts"/>
    <classpathentry kind="src" path="java"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

1683824525880.png

1683823868309.png
 
@òbiòbi верифицированный пользователь., в VS Code очень приятный фон, шрифты.

Посмотреть вложение 52048

Спасибо еще раз. Попробую в ближайшее время.
Все это дело привычки. Переходите, юзаете в течении недели и не можете представить своей жизни без IDE, точно также как было это с VS Code. Я лично прошел такой маршрут - Notepad++, Sublime Еext, VS Code, PHP Storm. И каждый раз я думал - "Как же не хочу этого делать, меня и так все устраивает", и после того как привыкал, каждый раз я думал - "Блин, как я без этого обходился?". Все это зона комфорта. Так что переходите на IDE и не тяните с этим. Не вижу ни единого плюса использования VS Code перед IntelliJ IDEA, учитывая что у нее есть бесплатная версия которую даже покупать (регистрировать каждый месяц на новый акк) не надо.
 
У меня ситуация наоборот )) Я ушел с WebStorm, на VSCode, я являюсь пользователем Mac OS, и например если я разрабатываю какой-нибудь проект (это примерно запущенных 3-и приложения, фронт сайт, фронт админка, и бэк). WebStrom очень много кушал памяти, скажу сразу - Mac не слабый (M1 Pro), поэтому решил попробовать бесплатное решение VSCode, которое конкретно для разработки таких штук - идеально подходит, лично для меня. Раскладка с WebStorm спокойно перенеслась на VSCode.

Но хочу сказать и с другой стороны, по отношению к продуктам JetBrains. Если я разрабатываю бэк на каком-нибудь .NET, то VSCode я никогда не возьму, для такого решения я например использую Rider. VSCode кстати, кушает тоже не плохо (он написан на фрейме Electron), по сути мы запускаем браузер ))

Когда я раньше кодил на Яве, я пробовал разное. И Eclipse, и Intellij, но тут выбор все же больше в сторону Intellij :)

P.S Перешел я последние 3 года назад, возможно WebStorm в данный момент лучше оптимизирован, но тут уж сказать не могу)
 
Назад
Сверху Снизу