您可以使用maven-eclipse-plugin插件下载源代码,并为您提供可用的源代码库列表(您的某些依赖项可能没有可用的源代码).
依赖插件也可以下载源代码,但是很难获得所需的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/{})
Run Code Online (Sandbox Code Playgroud)
这将运行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>
Run Code Online (Sandbox Code Playgroud)
在我的示例中,您可以看到JCIP注释jar的来源,而不是FindBugs JSR305 jar.
sed命令提取源jar的路径(相对于maven本地存储库).然后xargs命令将每个源jar解包到$dir.
eclipse插件创建文件.classpath和.project目录.settings- 如果你从不使用Eclipse,你可以删除它们.
| 归档时间: |
|
| 查看次数: |
1427 次 |
| 最近记录: |