我使用maven发布插件来生成我的项目的发布.我不想在构建时生成Javadoc.另一方面,当我调用release:perform时,我想如果maven会生成sources.jar和javadoc.jar并将其部署到maven发布存储库.仅仅因为我很好奇如何禁用部署source.jar,因为它看起来默认是部署的.
maven-2 maven maven-release-plugin maven-javadoc-plugin maven-source-plugin
我想在专用的docs项目中为我项目的某些工件生成javadoc.
这意味着我希望有一个名为"docs"的独立项目.在docs/pom.xml中,我想定义应该包含在生成的javadoc中的工件.
到目前为止,我了解到我必须为我想要包含的项目生成单独的sources.jar.但我无法弄清楚如何继续下去.
现在我只能想象两种方法:
获取我想要包含的工件(sources.jar),解压缩它们并以某种方式将Javadoc插件指向源目录.
将我感兴趣的工件定义为依赖项,并使用javadoc-plugin的"dependencySourceInclude"选项.但我不确定这是否按预期使用.
有什么建议如何解决这个问题?
我使用maven 3并根据新的maven 3 siteplugin + javadoc配置配置我的javadoc.但是,我的所有javadoc配置参数似乎都被忽略了.所以没有包分组,没有源链接等.
我的项目是一个多模块项目,我使用的命令是:mvn3 clean package javadoc:aggregate
这是我的根pom的相关部分:
<build>
<!-- Memory management properties for jenkins build. -->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.11</version>
<configuration>
<argLine>-Xmn8m -Xms32m -Xmx96m -XX:PermSize=32m
-XX:MaxPermSize=128m</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.0-beta-3</version>
<configuration>
<reportPlugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.8</version>
<configuration>
<verbose>true</verbose>
<groups>
<group>
<title>Hypercube</title>
<packages>org.hypercube*</packages>
</group>
<group>
<title>Hyperdrive</title>
<packages>org.hyperdrive*</packages>
</group>
<group>
<title>Hydrogen</title>
<packages>org.hydrogen*</packages>
</group>
<group>
<title>Fusion-X11</title>
<packages>org.fusion.x11*</packages>
</group>
<group>
<title>Fusion-Qt</title>
<packages>org.fusion.qt*</packages>
</group>
</groups>
<linksource>true</linksource>
<minmemory>16m</minmemory>
<maxmemory>128m</maxmemory>
</configuration>
</plugin>
</reportPlugins>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Run Code Online (Sandbox Code Playgroud) javadoc maven-3 maven maven-javadoc-plugin maven-site-plugin
我正在编写一个带有目录结构的 maven包
frtex
pom.xml
frtex/src/main/java/some-files.java
frtex/src/main/java/utils/some-other-files.java
Run Code Online (Sandbox Code Playgroud)
制作mvn test效果很好。
我的问题是mvn javadoc:javadoc为包含在frtex/src/main/java但发出的文件中生成正确的文档
[WARNING] javadoc: warning - No source files for package utils
Run Code Online (Sandbox Code Playgroud)
这是我的 pom.xml 的相关(?)部分:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<configuration>
<groups>
<group>
<title>TI</title>
<packages>frtex.*</packages>
</group>
</groups>
<doclet>ch.raffael.doclets.pegdown.PegdownDoclet</doclet>
<docletArtifact>
<groupId>ch.raffael.pegdown-doclet</groupId>
<artifactId>pegdown-doclet</artifactId>
<version>1.1</version>
</docletArtifact>
<useStandardDocletOptions>true</useStandardDocletOptions>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
在 project/build/plugins
我应该怎么做才能让 maven/javadoc 在src/main/java/utils.
我正在编写自己的Java 8 Stream实现,并希望从原始java.util.stream.Stream接口继承Javadoc .但是我无法让它发挥作用.生成的Javadoc仅显示我的文档,但不显示扩展Stream接口的文档.
因此,例如,此方法的javadoc仅包含文本"一些附加信息",但不包含Stream界面中的文档.
/**
* {@inheritDoc}
* Some additional information.
*/
@Override
public Stream<T> filter(Predicate<? super T> predicate) {
// ... my stream implementation...
}
Run Code Online (Sandbox Code Playgroud)
这是我对maven-javadoc-plugin的配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.1</version>
<configuration>
<links>
<link>http://docs.oracle.com/javase/8/docs/api/</link>
</links>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我是否会错过这种配置?我设置source和target1.8的Maven的编译器插件.因此,根据maven-javadoc-plugin的文档,应该自动检测java API.
Stack Overflow上也有类似的问题,但那里的答案似乎没有用.
我的 Maven Java 8 项目位于包含重音符号的路径内:C:\\D\xc3\xa9veloppements\\myproject。
当我使用maven-javadoc-plugin(最新 2.10.4 版本的事件)时,当我尝试生成项目的 javadoc(来自 IntelliJ IDEA 2016.2.4)时,出现此错误:
[ERROR] javadoc: warning - No source files for package com.mycompany.myproject\n[ERROR] javadoc: error - No public or protected classes found to document.\nRun Code Online (Sandbox Code Playgroud)\n\n这很奇怪,因为我已经在这个项目中记录了类。
\n我想使用 Maven 为我的应用程序创建站点。这是一个多模块应用程序,父模块是简单的站点模块,第一个子模块是应用程序的核心,第二个是GUI(Swing)。
我现在对父 pom.xml 使用 follow
<modules>
<module>core</module>
<module>kayako-desktop</module>
</modules>
<build>
<plugins>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>2.2</version>
<configuration>
<locales>en</locales>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
<plugin>
<artifactId>maven-changes-plugin</artifactId>
<version>2.4</version>
</plugin>
</plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)
我的核心 pom:
<build>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<phase>package</phase>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
<goal>javadoc</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<configuration>
<links>
<link>http://download.oracle.com/javase/6/docs/api/</link>
</links>
</configuration>
</plugin> …Run Code Online (Sandbox Code Playgroud) 从命令行调用 mvn 时如何指定 dolect 工件
mvn clean install javadoc:javadoc -Ddoclet=my.Doclet -DdocletArtifact=????
Run Code Online (Sandbox Code Playgroud) 我开发了自己的 Doclet 以从 Java 类生成 csv。\n我需要启动有关许多项目的此 Doclet,但无法编辑 POM 文件。\n所以我正在使用终端运行:
\n\nmvn -DuseStandardDocletOptions=false\n-Ddoclet=com.sadiel.gescontrata.lector.leeclases.LectorDoclet\n-DdocletPath=C:\\LeeClases.jar javadoc:javadoc\nRun Code Online (Sandbox Code Playgroud)\n\n我需要为 Private 方法生成文档,因此我尝试添加-Dprivate但这不起作用。
\n\n有人知道我能做什么吗?
\n\n谢谢,\nIv\xc3\xa1n。
\n我有一个像这样的 Maven 多模块项目:
foo-parent
foo-module
foo-module-new
foo-other-module1
foo-other-module2
pom.xml
Run Code Online (Sandbox Code Playgroud)
当调用mvn javadoc:aggregatefoo-parent 时,我想从 Javadoc 生成中排除模块foo-module。
excludePackageNames在我的情况下,通过带参数的包名排除不起作用,因为 foo-module 和 foo-module-new 具有相同的包名。