如何使用maven和markdown标记语言开始项目文档?Maven站点默认是APT,这对于学习maven方式来说是不舒服的.(通常团队中的任何人都不会开始编写maven站点文档,因为他们还需要在此过程中学习一种标记语言.)
有没有人试图使用markdown(与github上使用的标记语言相同)来获取Maven项目站点文档?我从Maven Doxia的文章中看到它是可能的.有什么问题?
我是maven网站一代的新手.我认为markdown最好先于其他标记语言开始,团队还没有合作过.
UPDATE.成功了.见下面的答案.
我在一个多模块项目中使用Maven 3.2.3.我想生成一个checkstyle和findbugs报告,所以我配置了以下内容:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.13</version>
<reportSets>
<reportSet>
<reports>
<report>checkstyle</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.3</version>
</plugin>
</plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)
但是,当我跑
mvn site:site site:deploy
Run Code Online (Sandbox Code Playgroud)
我反复得到以下警告......
[WARNING] The repository url 'https://maven-repository.dev.java.net/nonav/repository' is invalid - Repository 'java.net' will be blacklisted.
Run Code Online (Sandbox Code Playgroud)
我的pom.xml文件或〜/ .m2/settings.xml文件中没有引用此repo.如何跟踪此问题并最终解决警告?
我有一个多模块项目,在父pom中,我定义了几个报告插件.某些模块包含不需要对其运行报告插件的代码,并且我不需要在生成的站点中包含它们.有没有办法告诉Maven在父pom级别忽略它们?
根据ajozwik的回答,我添加了跳过配置.我的POM现在看起来如下......
父/ pom.xml的<modules>
<module>service</module>
<module>client</module>
</modules>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.4.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.8.1</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<formats>
<format>html</format>
</formats>
</configuration>
</plugin>
</plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)
客户机/ pom.xml的
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.1</version>
<configuration>
<skip>true</skip>
<skipDeploy>true</skipDeploy>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
当我执行:
mvn clean package site
Run Code Online (Sandbox Code Playgroud)
构建成功,客户端的目标目录不包含生成的站点.当我跑:
mvn clean package site site-stage
Run Code Online (Sandbox Code Playgroud)
为了暂存网站,它正确地分阶段.如果没有skipDeploy标记,则分段将失败...
我有一个多模块应用程序,我正在尝试为这个应用程序生成一个maven站点.
我有一个聚合POM,它包含所有子模块,一个继承POM,它包含子模块的所有常用功能,以及一个20个左右的子模块.
我已经循环了无休止的在线示例,了解如何使其工作.在这些工作中,多模块部分都没有.我可以在子目录(和聚合模块)的目标/站点文件夹中建立单独的站点输出.我还让它进入聚合POM中的目标/暂存文件夹.创建的东西看起来不错.
但
子模块链接都不起作用.
我试过在码头下运行这个,因为对这个问题的一些评论说这些链接仅在它被构建为网站时才起作用 - 但是没有,同样的问题,它找不到孩子的index.html.
有没有人有这个工作的例子?并且为了避免我撕掉任何更多的头发(上帝知道它已经在那里运行)我宁愿看到实际工作的POM代码和/或所遵循的阶段来纠正测试和部署.
有人可以帮忙吗?
我正在尝试构建网站时,我目前面临与Maven 3的以下问题.我将非常感谢你的帮助.
mvn清洁网站
..........
[INFO] Reactor Summary:
[INFO]
[INFO] Project A ......................................... SUCCESS [15.383s]
[INFO] Project B ......................................... SUCCESS [2.232s]
[INFO] My Site ........................................... FAILURE [0.105s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24.769s
[INFO] Finished at: Fri Jun 29 14:26:04 AMT 2012
[INFO] Final Memory: 18M/150M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.1:site (default-site) on project site: SiteToolException: Unable to read local module-POM: 1 problem was encountered while building the effective model for my.com:projA:0.1-SNAPSHOT
[ERROR] …
Run Code Online (Sandbox Code Playgroud) 我有一个多模块Maven构建,我想在我的根模块中生成一个聚合的Scaladoc,类似于maven-javadoc-plugin的聚合目标.我的第一次尝试是:
<project ...>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<reportPlugins>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<reports>
<report>doc</report>
</reports>
<configuration>
<aggregateDirectOnly>false</aggregateDirectOnly>
<sendJavaToScalac>false</sendJavaToScalac>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<reports>
<report>aggregate</report>
</reports>
</plugin>
</reportPlugins>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
但是,aggregateDirectOnly属性似乎没有任何效果.我总是只为个别罐型POM获得Scaladoc.
我也尝试将forceAggregate设置为true,但它也没有效果.
这该怎么做?
我正在尝试使用maven网站插件创建一个基本的maven网站.所以我把它添加到我的pom:
<reporting>
<plugins>
<!--JavaDoc setup-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<configuration>
<defaultAuthor>Leon Blakey</defaultAuthor>
<defaultVersion>${project.version}</defaultVersion>
<links>
<link>http://download.oracle.com/javase/6/docs/api</link>
</links>
</configuration>
</plugin>
</plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)
跑了 mvn site --errors
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building pircbotx 1.3-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-site-plugin:2.0.1:site (default-site) @ pircbotx ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.688s
[INFO] Finished at: Wed Jan 12 18:08:00 EST 2011
[INFO] Final Memory: 5M/13M
[INFO] ------------------------------------------------------------------------
W:\programming\pircbot-hg>
Run Code Online (Sandbox Code Playgroud)
嗯,奇怪的是没有输出.所以当我检查目标/网站时,它是空的.唯一的文件夹是images /,css …
我想与javadoc和Maven站点一起部署一个工件.我用
clean javadoc:jar site deploy site:deploy
Run Code Online (Sandbox Code Playgroud)
(在site
和之间的分割site:deploy
只是为了避免在deploy
失败的情况下部署站点).
现在javadoc创建了两次 - 一次进入javadoc:jar
,一次进入site
.是否可以只创建一次并将其用于javadoc-jar
Nexus和Maven站点?
Github建议在项目的根目录中创建Markdown格式的文件,如README.md,LICENCE.md或CONTRIBUTORS.md.另一方面,这些文件对于自动生成的maven站点来说将是有价值的内容.
将这些文件包含在生成的站点报告中的最佳做法是什么?
我有一个想法是将它们复制到src/site/markdown并在成功生成网站后再次删除它们(以避免SCM污染).
我有一个基于maven的项目.有四个不同的项目,如下面的结构所示.每个主项目和子项目都有自己的pom.xml文件.
ProjectA
|
--------subProjects
ProjectB
|
--------subprojects
ProjectC
|
--------subProjects
ProjectD
|
-------subprojects
Run Code Online (Sandbox Code Playgroud)
我正在mvn site
上ProjectC
是依赖于ProjectB
它是相互依赖的,ProjectA
并ProjectB
因此,当我运行maven网站时test results
,所有这些项目都会被创建individually
.我还想做的是aggregation
在这些项目和子项目中创建所有测试结果并将其显示出来one place
.
那么maven网站有可能吗?