- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个具有以下结构的小项目:
pom.xml
src/main/java/
module-info.java
de.ps.pl.te/
package-info.java
TE.java
src/test/java/
de.ps.pl.te.test/
package-info.java
TETests.java
同样在我的 maven pom 中,我定义了 javadoc 插件如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<show>protected</show>
<failOnError>false</failOnError>
</configuration>
</plugin>
现在我在运行过程中得到了一些奇怪的输出
mvn clean install site
[INFO] Generating "Javadoc" report --- maven-javadoc-plugin:3.1.0:aggregate-no-fork[ERROR] Error fetching link: D:\work\eclipse\java\FritzBox\phplib\target\javadoc-bundle-options. Ignored it.
[...]
[INFO] Generating "Test Javadoc" report --- maven-javadoc-plugin:3.1.0:test-aggregate-no-fork
[ERROR] Error fetching link: D:\work\eclipse\java\FritzBox\phplib\target\javadoc-bundle-options. Ignored it.
Loading source files for package de.ps.pl.te.test...
1 error
[ERROR] Error while creating javadoc report:
Exit code: 2 - javadoc: error - No source files for package de.powerstat.phplib.templateengine.test
Command line was: [...]javadoc.exe @options @packages
Refer to the generated Javadoc files in '[...]' dir.
org.apache.maven.reporting.MavenReportException:
Exit code: 2 - javadoc: error - No source files for package de.ps.pl.te.test
Command line was: [...]javadoc.exe @options @packages
Refer to the generated Javadoc files in '[...]\target\site\testapidocs' dir.
at org.apache.maven.plugins.javadoc.AbstractJavadocMojo.executeJavadocCommandLine (AbstractJavadocMojo.java:5761)
at org.apache.maven.plugins.javadoc.AbstractJavadocMojo.executeReport (AbstractJavadocMojo.java:2148)
at org.apache.maven.plugins.javadoc.TestJavadocReport.executeReport (TestJavadocReport.java:162)
[...]
我研究了以下问题:
但我的问题似乎有所不同,并且基于 java 模块化。所以问题是如何修复它 - 或者更重要的是制作错误报告?
编辑 1
现在我尝试使用 JDK 11.0.3 和 JDK 12.0.1 - 由于 Oracle 证书和服务器问题我无法下载 OpenJDK - 所以我无法测试 OpenJDK 13 早期访问。
有趣的是,使用版本 11/12 时错误消息略有不同。
对于 JDK 11,错误是:
Exit code: 1 - Project\src\main\java\module-info.java:12: error: module not found: org.apache.logging.log4jrequires org.apache.logging.log4j;
对于 JDK 12,错误是:
Exit code: 1 - error: module not found: de.powerstat.phplib.templateengine
消息的其余部分仍然相同。
我还发现了一个可能涉及这里的错误报告:
Javadoc does not support module-info in a multi-release jar
我也尝试排除 module-info.java 但没有成功:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<show>protected</show>
<failOnError>false</failOnError>
<sourceFileExcludes>
<sourceFileExclude>**/module-info.java</sourceFileExclude>
</sourceFileExcludes>
</configuration>
</plugin>
编辑 2
在 target\site\apidocs 中我可以找到以下(maven 生成的?)文件:
参数文件:
'D:/TemplateEngine/src/main/java/de/ps/pl/te/package-info.java'
'D:/TemplateEngine/src/main/java/de/ps/pl/te/TemplateEngine.java'
javadoc.bat:
D:\Programme\Java\jdk-11.0.3\bin\javadoc.exe @options @argfile
包:
de.powerstat.phplib.templateengine
de.powerstat.phplib.templateengine
选项:
--module-path
'C:/.m2/repository/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar;C:/.m2/repository/org/apache/logging/log4j/log4j-core/2.11.2/log4j-core-2.11.2.jar'
-sourcepath
'D:/TemplateEngine/src/main/java'
-d
'D:/TemplateEngine/target/site/apidocs'
-linkoffline
'https://docs.oracle.com/en/java/javase/11/docs/api' 'D:/TemplateEngine/target/javadoc-bundle-options'
[Removed uninteresting parts like encoding, title etc.]
对于有人想自己尝试的情况,我已经在 GitHub 上提供了整个项目。
编辑 3:
更新到 Java 11.0.10 或其他更新版本后,上面提到的一些问题已经消失。但仍然存在一个问题 - 我已将其报告为 bug .
最佳答案
在测试时我看到了这个错误
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.7.1:site (default-site) on project templateengine: Execution default-site of goal org.apache.maven.plugins:maven-site-plugin:3.7.1:site failed: could not find reports directory [C:\tmp\TemplateEngine\target\pit-reports]
[ERROR]
[ERROR] Please copy and paste the information and the complete stacktrace below when reporting an issue
[ERROR] VM : OpenJDK 64-Bit Server VM
[ERROR] Vendor : Oracle Corporation
[ERROR] Version : 12.0.1+12
[ERROR] Uptime : 146619
[ERROR] Input ->
[ERROR] 1 : -Dclassworlds.conf=C:/ProgramData/chocolatey/lib/maven/apache-maven-3.6.1/bin/m2.conf
[ERROR] 2 : -Dmaven.home=C:/ProgramData/chocolatey/lib/maven/apache-maven-3.6.1
[ERROR] 3 : -Dlibrary.jansi.path=C:/ProgramData/chocolatey/lib/maven/apache-maven-3.6.1/lib/jansi-native
[ERROR] 4 : -Dmaven.multiModuleProjectDirectory=C:/tmp/TemplateEngine
[ERROR] BootClassPathSupported : false
刚刚创建了文件夹“mkdir ./target/pit-reports”,然后它就消失了。这就是问题所在
<show>private</show>
所以我们可以说您在 maven-javadoc-plugin 中发现了一个错误 :)
关于带有 Maven 的 Java 11/12 Javadoc 导致不为测试生成 Javadoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55676341/
我正在尝试使用 Spark 从 Cassandra 读取数据。 DataFrame rdf = sqlContext.read().option("keyspace", "readypulse
这是代码: void i_log_ (int error, const char * file, int line, const char * fmt, ...) { /* Get erro
我必须调试一个严重依赖 Gtk 的程序。问题是由于某些原因,在使用 GtkWindow 对象时开始出现许多运行时警告。问题是,即使 Gtk 提示严重错误,它也不会因这些错误而中止。我没有代码库的更改历
我正在尝试从已有效编译和链接的程序中检索二进制文件。我已经通过 GL_PROGRAM_BINARY_LENGTH 收到了它的长度。该文档说有两个实例可能会发生 GL_INVALID_OPERATION
我有一个托管在 Azure 环境中的服务。我正在使用控制台应用程序使用该服务。这样做时,我得到了异常: "The requested service, 'http://xxxx-d.yyyy.be/S
我有以下代码,它被 SEGV 信号杀死。使用调试器表明它被 main() 中的第一个 sem_init() 杀死。如果我注释掉第一个 sem_init() ,第二个会导致同样的问题。我试图弄清楚是什么
目前我正在编写一个应用程序(目标 iOS 6,启用 ARC),它使用 JSON 进行数据传输,使用核心数据进行持久存储。 JSON 数据由 PHP 脚本通过 json_encode 从 MySQL 数
我对 Xamarin.Forms 还是很陌生。我在出现的主页上有一个非常简单的功能 async public Task BaseAppearing() { if (UserID
这是我的代码的简化版本。 public class MainActivity extends ActionBarActivity { private ArrayList entry = new Arr
我想弄明白为什么我的两个 Java 库很难很好地协同工作。这是场景: 库 1 有一个类 A,其构造函数如下: public A(Object obj) { /* boilerplate */ } 在以
如果网站不需要身份验证,我的代码可以正常工作,如果需要,则在打印“已创建凭据”后会立即出现 EXC_BAD_ACCESS 错误。我不会发布任何内容,并且此代码是直接从文档中复制的 - 知道出了什么问题
我在使用 NSArray 填充 UITableView 时遇到问题。我确信我正在做一些愚蠢的事情,但我无法弄清楚。当我尝试进行简单的计数时,我得到了 EXC_BAD_ACCESS,我知道这是因为我试图
我在 UITableViewCell 上有一个 UITextField,在另一个单元格上有一个按钮。 我单击 UITextField(出现键盘)。 UITextField 调用了以下方法: - (BO
我有一个应用程序出现间歇性崩溃。崩溃日志显示了一个堆栈跟踪,这对我来说很难破译,因此希望其他人看到了这一点并能为我指出正确的方向。 基本上,应用程序在启动时执行反向地理编码请求,以在标签中显示用户的位
我开发了一个 CGImage,当程序使用以下命令将其显示在屏幕上时它工作正常: [output_view.layer performSelectorOnMainThread:@selector(set
我正在使用新的 EncryptedSharedPreferences以谷歌推荐的方式上课: private fun securePrefs(context: Context): SharedPrefe
我有一个中继器,里面有一些控件,其中一个是文本框。我正在尝试使用 jquery 获取文本框,我的代码如下所示: $("#").click(function (event) {}); 但我总是得到 nu
在以下场景中观察到 TTS 初始化错误,太随机了。 已安装 TTS 引擎,存在语音集,并且可以从辅助功能选项中播放示例 tts。 TTS 初始化在之前初始化和播放的同一设备上随机失败。 在不同的设备(
maven pom.xml org.openjdk.jol jol-core 0.10 Java 类: public class MyObjectData { pr
在不担心冲突的情况下,可以使用 MD5 作为哈希值,字符串长度最多为多少? 这可能是通过为特定字符集中的每个可能的字符串生成 MD5 哈希来计算的,长度不断增加,直到哈希第二次出现(冲突)。没有冲突的
我是一名优秀的程序员,十分优秀!