Plugins 如何检查和访问javadoc/source中的Maven工件
我正在写一个Maven插件,需要检查某个项目 依赖项有可用的javadocs和源。。。如果是的话,我想 下载并在服务器上存档 我不知道如何检查javadocs和源代码是否可用 或者如何访问它们(如果是)Plugins 如何检查和访问javadoc/source中的Maven工件,plugins,maven-2,javadoc,Plugins,Maven 2,Javadoc,我正在写一个Maven插件,需要检查某个项目 依赖项有可用的javadocs和源。。。如果是的话,我想 下载并在服务器上存档 我不知道如何检查javadocs和源代码是否可用 或者如何访问它们(如果是) 任何帮助都将不胜感激。您可以通过向依赖项添加分类器标记来引用其他工件。分类器是存储库中工件名称的附加部分,例如junit-4.5-sources.jar 因此,要直接在junit sources jar上声明依赖项,可以按如下方式指定它: <dependency> <gro
任何帮助都将不胜感激。您可以通过向依赖项添加分类器标记来引用其他工件。分类器是存储库中工件名称的附加部分,例如junit-4.5-sources.jar 因此,要直接在junit sources jar上声明依赖项,可以按如下方式指定它:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.5</version>
<classifier>sources</classifier>
<scope>test</scope>
</dependency>
朱尼特
朱尼特
4.5
来源
测试
如果要下载所有依赖项源,请使用maven依赖项插件的复制依赖项目标来指定分类器源。下面的示例定义了两个执行,一个用于源代码,一个用于javadocs
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>sources</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<classifier>sources</classifier>
<failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact>
<outputDirectory>${project.build.directory}/sources</outputDirectory>
</configuration>
</execution>
<execution>
<id>javadocs</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<classifier>javadoc</classifier>
<failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact>
<outputDirectory>${project.build.directory}/javadocs</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
org.apache.maven.plugins
maven依赖插件
来源
包裹
复制依赖项
来源
假的
${project.build.directory}/sources
javadocs
包裹
复制依赖项
javadoc
假的
${project.build.directory}/javadocs
如果您想将所有下载的工件打包到一个zip中,那么可以使用maven组装插件创建项目的存档。下面的示例是程序集描述符文件的内容,其中包括源和javadocs目录:
<assembly>
<id>project</id>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${project.basedir}</directory>
<useDefaultExcludes>true</useDefaultExcludes>
<includes>
<include>${project.build.directory}/sources</include>
<include>${project.build.directory}/javadocs</include>
</includes>
</fileSet>
</fileSets>
</assembly>
项目
拉链
${project.basedir}
真的
${project.build.directory}/sources
${project.build.directory}/javadocs
要引用程序集,请向pom添加插件配置。这假设上述内容已放在src/main/assembly/sources.xml中(确保在上述依赖项配置之后定义):
maven汇编插件
2.2-β-4
包裹
单一的
src/main/assembly/sources.xml
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/sources.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>