Код Visual Studio, расширение Java, как добавить jar в classpath
В Eclipse я добавляю библиотеку jar, используя
project → путь сборки → настроить путь сборки
Что эквивалентно в VisualStudioCode? Я посмотрел на launch.json. Определен класс pathpath. Добавление jars к этой переменной classpath (array) кажется неэффективным.
По сути, это дублированный вопрос о поддержке Java Language Support для Visual Studio, но этот вопрос остается без ответа.
Это такой чрезвычайно простой вопрос, что я действительно не понимаю, не найти решение для него в документации Microsoft или в поиске Google.
Ответы
Ответ 1
VSCode отлично работает с Maven или Gradle. Но без них, насколько я знаю, они не предоставили прямого способа добавить файл jar в classpath.
Обходной путь - добавить запись в файл .classpath
вручную.
Например, в приведенном ниже файле я вручную добавил common-logging-1.2.jar
.
<?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="src" path="src"/>
<classpathentry kind="output" path="bin"/>
<classpathentry exported="true" kind="lib" path="lib/commons-logging-1.2.jar"/>
</classpath>
Ответ 2
Ужасное решение, но для меня это работает. (Предполагается, что Maven установлен).
Найдите свой каталог репозитория Maven, для меня это:
/Users/username/.m2/repository
Затем создайте требуемый путь после имени пакета. Если вы не знаете имя пакета, вы можете переименовать .jar
в .zip
и извлечь содержимое.
Также создайте номер версии, если у вас его нет, то создайте его. Вот пример структуры, которую я создал для byte-buddy-agent
так как у нее нет фрагмента maven.
Сделав это, вы редактируете pom.xml
и добавляете что-то в строку:
<dependency>
<groupId>net.bytebuddyagent</groupId>
<artifactId>byte-buddy-agent</artifactId>
<version>1.9.8</version>
</dependency>
Сохраните файл, перезагрузите изменения, и у вас все получится. Куча файлов должна быть создана в каталоге.
Ответ 3
Для добавления внешних файлов Jar без maven или gradle.classpath файл должен быть изменен для библиотеки.. пример
<?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="src" path="src"/>
<classpathentry kind="lib" path="lib/log4j-1.2.6.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Но одно расширение конфликтует с vscode-java. https://marketplace.visualstudio.com/items?itemName=georgewfraser.vscode-javac. Отключите его, если вы установили функцию подавления ошибок, если обнаружите ее после изменения файла .classpath. Вы можете проверить это issue- https://github.com/redhat-developer/vscode-java/issues/956