Пока я комбинирую maven и vim, я не могу найти способ загрузить все источники, которые зависят от моего проекта, в указанный каталог и распаковать их вместе.
Так что я могу легко создавать tags
.
Кто-нибудь знает как?
Пока я комбинирую maven и vim, я не могу найти способ загрузить все источники, которые зависят от моего проекта, в указанный каталог и распаковать их вместе.
Так что я могу легко создавать tags
.
Кто-нибудь знает как?
Для загрузите источники и предоставьте вам список доступных исходных файлов jar (некоторые из ваших зависимостей могут не иметь доступных источников).
Плагин зависимостей также может загружать исходники, но получить список необходимых jar-файлов сложнее.
Вы можете попробовать что-то вроде этого:
dir=target/sources
mkdir -p $dir
mvn eclipse:eclipse -DdownloadSources
sed -rn '/sourcepath/{s/.*sourcepath="M2_REPO.([^"]*).*/\1/;p}' .classpath | \
(cd $dir && xargs -i jar xf ~/.m2/repository/{})
Это запустит mvn eclipse:eclipse -DdownloadSources
, который загрузит исходники и запишет .classpath
файл в локальный каталог. Этот файл содержит пути к вашим исходным jar-файлам. Это выглядит примерно так:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java" including="**/*.java"/>
<classpathentry kind="output" path="target/classes"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr305/1.3.7/jsr305-1.3.7.jar"/>
<classpathentry kind="var" path="M2_REPO/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar" sourcepath="M2_REPO/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0-sources.jar"/>
</classpath>
В моем примере вы можете видеть, что есть источники для jar-файла с аннотациями JCIP, но не для jar-файла FindBugs JSR305.
Команда sed извлекает пути к исходным jar-файлам (относительно вашего локального репозитория maven). Затем команда xargs распаковывает каждый исходный jar-файл в $dir
.
Плагин eclipse создает файлы .classpath
и .project
и каталог .settings
- вы можете удалить их, если никогда не используете Eclipse.
ctags -R --languages=java .
, чтобы навигация по коду работала с помощью ctrl +]
- person Mitermayer Reis; 09.09.2013