许多人都知道Maven源代码和Javadoc工件,但是不知道为什么要创建它们。 我肯定在这个阵营中–我可以理解为什么人们想要此信息,但是由于要手动导航Maven存储库,因此获取信息似乎相对效率较低。

然后我被线索棒击中。

这些工件由IDE而非人员使用。 如果您使用的是Maven依赖项,那么IDE足够聪明,可以知道如何查找这些工件。 当您单步调试器中的代码时,将使用源工件-您不再需要将源代码显式绑定到IDE中的库。 javadoc工件用于编辑器中的自动完成和上下文相关帮助。

这些都不是必需的-多年以来我一直很高兴使用'vi'-但是当您大多数都知道自己需要什么但不确定细节时,它肯定会提高您的生产率。

源工件

源工件最容易创建。 添加一个将作为标准构建的一部分自动运行的插件,您已完成。 构建花费的时间稍长一些,但您只需要创建几个目录的归档文件就不必担心了。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><build><plugins><!-- create source jar --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>2.1.1</version><executions><execution><id>attach-sources</id><phase>verify</phase><goals><!-- produce source artifact for project main sources --><goal>jar-no-fork</goal><!-- produce test source artifact for project test sources --><goal>test-jar-no-fork</goal></goals></execution></executions></plugin></plugins></build>
</project>

Javadoc工件

Javadoc工件要复杂一些,因为您可能希望同时创建一个对人类友好的网站。 根据我的经验,最大的问题是外部类是不透明的,因为它花费了大量的精力来创建必要的链接。 现在,maven插件会为我们解决这个问题!

构建该工件需要花费大量时间,因此您可能不想每次都这样做。 有两种方法–明确指定Maven目标或将其绑定到自定义配置文件,例如'javadoc'。 以下配置使用自定义配置文件。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><profiles><!-- create javadoc --><profile><id>javadoc</id><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>2.9.1</version><configuration><detectLinks /><includeDependencySources>true</includeDependencySources><dependencySourceIncludes><dependencySourceInclude>com.invariantproperties.project.student:*</dependencySourceInclude></dependencySourceIncludes><!-- heavily used dependencies --><links><link>http://docs.oracle.com/javase/7/docs/api/</link><link>http://docs.oracle.com/javaee/6/api</link><link>http://docs.spring.io/spring/docs/current/javadoc-api/</link><link>http://docs.spring.io/spring-data/commons/docs/1.6.2.RELEASE/api/</link><link>http://docs.spring.io/spring-data/jpa/docs/1.4.3.RELEASE/api/</link><link>http://docs.spring.io/spring-data/data-jpa/docs/1.4.3.RELEASE/api/</link><link>https://jersey.java.net/apidocs/1.17/jersey/</link><link>http://hamcrest.org/JavaHamcrest/javadoc/1.3/</link><link>http://eclipse.org/aspectj/doc/released/runtime-api/</link><link>http://eclipse.org/aspectj/doc/released/weaver-api</link><link>http://tapestry.apache.org/5.3.7/apidocs/</link></links></configuration><executions><execution><id>aggregate</id><!-- <phase>site</phase> --><phase>package</phase><goals><goal>aggregate</goal><goal>jar</goal></goals></execution></executions></plugin></plugins></build><reporting><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>2.9.1</version><configuration><!-- Default configuration for all reports --></configuration><reportSets><reportSet><id>non-aggregate</id><configuration><!-- Specific configuration for the non aggregate report --></configuration><reports><report>javadoc</report></reports></reportSet><reportSet><id>aggregate</id><configuration><!-- Specific configuration for the aggregate report --></configuration><reports><report>aggregate</report></reports></reportSet></reportSets></plugin></plugins></reporting></profile></profiles>
</project>

包信息.java

最后,每个软件包都应该具有package-info.java文件。 这将替换旧的package-info.html文件,但由于它允许使用类注释,因此是一个改进。 (由于它是无效的类名,因此不会被编译。)

我发现包括指向资源的链接非常有帮助,这些链接可以帮助我理解类的外观。 例如,“学生”项目中的元数据包包含指向我的博客文章,我认为有用的其他博客文章甚至适当的Oracle教程的链接。 在公司中,这些可能是指向Wiki页面的链接。

/**                     * Classes that support JPA Criteria Queries for persistent entities.*                          * @see <a href="http://invariantproperties.com/2013/12/19/project-student-persistence-with-spring-data/">Project Student: Persistence with Spring Data</a>* @see <a href="http://invariantproperties.com/2013/12/29/project-student-jpa-criteria-queries/">Project Student: JPA Criteria Queries</a>* @see <a href="http://www.petrikainulainen.net/programming/spring-framework/spring-data-jpa-tutorial-part-four-jpa-criteria-queries/">Spring Data JPA Tutorial Part Four: JPA Criteria Queries</a> [www.petrikainulainen.net]* @see <a href="http://docs.oracle.com/javaee/6/tutorial/doc/gjitv.html">JEE Tutorial</a>      *  * @author Bear Giles <bgiles@coyotesong.com>*/
package com.invariantproperties.project.student.metamodel;

源代码

  • 源代码位于https://github.com/beargiles/project-student [github]和http://beargiles.github.io/project-student/ [github页面]。
参考: Invariant Properties博客上的JCG合作伙伴 Bear Giles 创建Maven源代码和Javadoc工件 。

翻译自: https://www.javacodegeeks.com/2014/02/creating-maven-source-and-javadoc-artifacts.html

创建Maven源代码和Javadoc工件相关推荐

  1. javadoc maven_创建Maven源代码和Javadoc工件

    javadoc maven 许多人都知道Maven源代码和Javadoc工件,但是不知道为什么要创建它们. 我绝对是在这个阵营中–我可以理解为什么人们想要此信息,但是由于需要手动导航Maven存储库, ...

  2. idea创建maven程序_使用Maven程序集创建漏洞评估工件

    idea创建maven程序 本文将讨论如何使用Maven程序集创建可提供给第三方漏洞评估站点(例如Veracode )进行审查的工件. 错误的静态分析与漏洞评估 在这一点上,每个人都知道findbug ...

  3. Eclipse Maven 依赖包找不到源代码及javadoc

    1. 问题描述 可以查看 jdk 源代码及对应的 javadoc 文件: 可以查看 maven 依赖包中 zookeeper 对应的源代码和 javadoc 文件: 但是新下载了 org.apache ...

  4. Jenkins 创建Maven项目

    上面我讲述的Job都是非编译项目,也就是代码从仓库中拉下来,不经过任何操作就可以发布,这对于像Java.Android等源码需要编译的项目是不可用的,下面我们讲解如何使用Maven插件来构建Java项 ...

  5. 荐 Intellij IDEA创建Maven Web项目(带有webapp文件夹目录的项目)

    转载自:点击打开链接 在创建项目中,IDEA提供了很多项目模板,比如Spring MVC模板,可以直接创建一个基于Maven的Spring MVC的demo,各种配置都已经设定好了,直接编译部署就可以 ...

  6. eclipse maven打包jar 部分jsp无法访问_Maven系列教材 (九)- 在Eclipse中创建maven风格的java web项目...

    Maven系列教材 (九)- 在Eclipse中创建maven风格的java web项目 步骤1:删除j2ee目录步骤2:新建Maven 项目步骤3:这个界面点下一步步骤4: 这个界面使用webapp ...

  7. IDEA 创建 MAVEN 父子工程

    IDEA 创建 MAVEN 父子工程 1.参考资料 IDEA 创建MAVEN父子项目 使用IDEA创建maven父子工程 使用IDEA创建maven父子工程项目 2.创建 Maven 父工程 选择新建 ...

  8. 大数据-玩转数据-IDEA创建Maven工程

    一. IDEA集成Maven插件 打开IDEA,进入主界面后点击 file,然后点击 settings,在上面的快捷查找框中输入maven,查找与maven相关的设置,然后点击maven 修改mave ...

  9. 血战Maven,各种问题,Eclipse控制台乱码,Maven打包时Javadoc失败-UTF-8-BOM编码

    最近继续Maven打包,一个项目又遇到问题了. 提示Javadoc失败,但是没有 Eclipse控制台乱码了,看不清具体原因. 瞎猜,太费时间了. 首要问题是解决乱码. 可以参考:转载 Eclipse ...

最新文章

  1. joomla 1.7遇到的麻烦——不能删除模板的解决办法
  2. React +antd +wangEditor 富文本编辑器
  3. android wifi调试
  4. 《大道至简》阅读笔记二
  5. Intel Optane(tm) Memory Pinning 无法加载DLLiaStorAfsServiceApi.dll:找不到指定模块。(异常来自HRESULT:0x8007007E)。
  6. C++ (public, protected, private继承)
  7. shell 编程中空格的使用,双引号,单引号,反引号
  8. 51单片机基本刷屏测试实验_51单片机实验
  9. Python代码规范
  10. MATLAB 神经网络函数
  11. 【洛谷】P3957 [NOIP2017 普及组] 跳房子
  12. URL重定向(跳转)漏洞
  13. 计算机配件仓库照片,配件仓库存管理技巧
  14. 天猫店铺推广怎么收费?还有哪些推广方法?
  15. 为什么程序员喜欢这些键盘?
  16. 【华为OD机试】1038 - 学英语
  17. mybatis XML 中<if>、<choose>、<when>、<otherwise>等标签的使用?多条件查询该怎么处理?
  18. Lunch Time
  19. 计算机系统重新之后为啥没声音,电脑重装系统后没声音怎么办 电脑重装系统后没声音解决方法...
  20. python自动爬取快看漫画并发布至头条号(没编程基础也可学会)

热门文章

  1. fastreport 打印两个list_Smaller And Smarter Python数据结构:合并两个有序链表
  2. 转: 记录centos7 安装erlang22.3和rabbitMQ
  3. Unicode® Character Name Index
  4. XML—— 验证XML文档
  5. jep290涉及jdk版本_JDK 14 – JEP 361从预览中切换表达式
  6. 不停机与停机更新_Istio的零停机滚动更新
  7. flex布局水平垂直 垂直_垂直和水平装饰
  8. java常见的ide_在三个Java IDE中生成的三种常见方法
  9. websocket wss_使用wss和HTTPS / TLS保护WebSocket的安全
  10. office工作日志文件_风暴事件处理器–每个工作者的GC日志文件