Doxygen crashes while trying to patch "patching output file" with "Error: Problem writing Fig 1 figure!"
Doxygen crashes while trying to patch "patching output file" with "Error: Problem writing Fig 1 figure!"
所以我有一个非常奇怪的错误。每当我将这部分包含在我的 javadoc
/**
* Maps a get request that gets the SSE stream with the given UUID
*
* @param id UUID of SSE stream to get
* @return SSE stream for the given UUID
*/
@GetMapping("/stream/{id}")
public SseEmitter streamSseMvc(@PathVariable UUID id)
(我知道这是不好的 Javadoc,但现在不是重点。)
我的 doxygen 使用此命令崩溃:doxygen -d extcmd .\doxygen.txt
在生成所有继承和协作图后出现此错误消息:
Running dot for graph 22/22
Patching output file 1/15
Patching output file 2/15
Patching output file 3/15
Patching output file 4/15
error: problem writing FIG 1 figure!
lookup cache used 342/65536 hits=1089 misses=535
finished...
修复此错误的唯一方法是删除出现此 JavaDoc 的整个文件或仅删除该 Javadoc 部分。我还不能进一步缩小它的范围,因为错误发生在 javadoc 的三个部分中的任何一个,但不是空的 javadoc 主体。我在另一个文件中也没有遇到此 Javadoc 的错误:
/**
* Maps a get request for getting a sensors metadata by UUID.
*
* @param id UUID of sensor to get
* @return sensor with given UUID, if present
*/
@GetMapping("/{id}")
public Sensor getSensor(@PathVariable UUID id)
更奇怪的是,当我尝试将它输出到文件时,错误出现在我的 Powershell 中,结果如下:
Doxygen version used: 1.9.1 (ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b)
Searching for include files...
Searching for example files...
Searching for images...
Searching for dot files...
Searching for msc files...
Searching for dia files...
Searching for files to exclude
Searching INPUT for files to process...
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/controllers
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/exceptions
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/models
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/out
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/repository
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/util
Reading and parsing tag files
Parsing files
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/BackendApplication.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/BackendApplication.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/RESTConfiguration.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/RESTConfiguration.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/WebConfig.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/WebConfig.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/WebInitializer.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/WebInitializer.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/WebSecurityConfig.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/WebSecurityConfig.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/controllers/ObservationController.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/controllers/ObservationController.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/controllers/SensorController.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/controllers/SensorController.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/exceptions/ExceptionController.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/exceptions/ExceptionController.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/exceptions/SensorNotFoundException.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/exceptions/SensorNotFoundException.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/models/Observation.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/models/Observation.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/models/Sensor.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/models/Sensor.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/repository/ObservationRepository.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/repository/ObservationRepository.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/repository/SensorRepository.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/repository/SensorRepository.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/ObservationService.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/ObservationService.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/ObservationServiceImp.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/ObservationServiceImp.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/SensorService.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/SensorService.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/SensorServiceImp.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/SensorServiceImp.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/util/HouseKeeper.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/util/HouseKeeper.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/util/JsonSerializer.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/util/JsonSerializer.java...
Building macro definition list...
Building group list...
Building directory list...
Building namespace list...
Building file list...
Building class list...
Computing nesting relations for classes...
Associating documentation with classes...
Building example list...
Searching for enumerations...
Searching for documented typedefs...
Searching for members imported via using declarations...
Searching for included using directives...
Searching for documented variables...
Building interface member list...
Building member list...
Searching for friends...
Searching for documented defines...
Computing class inheritance relations...
Computing class usage relations...
Flushing cached template relations that have become invalid...
Computing class relations...
Add enum values to enums...
Searching for member function documentation...
Creating members for template instances...
Building page list...
Search for main page...
Computing page relations...
Determining the scope of groups...
Sorting lists...
Determining which enums are documented
Computing member relations...
Building full member lists recursively...
Adding members to member groups.
Computing member references...
Inheriting documentation...
Generating disk names...
Adding source references...
Adding xrefitems...
Sorting member lists...
Setting anonymous enum type...
Computing dependencies between directories...
Generating citations page...
Counting members...
Counting data structures...
Resolving user defined references...
Finding anchors and sections in the documentation...
Transferring function references...
Combining using relations...
Adding members to index pages...
Correcting members for VHDL...
Computing tooltip texts...
Generating style sheet...
Generating search indices...
Generating example documentation...
Generating file sources...
Parsing code for file BackendApplication.java...
Parsing code for file configs/RESTConfiguration.java...
Parsing code for file configs/WebConfig.java...
Parsing code for file configs/WebInitializer.java...
Parsing code for file configs/WebSecurityConfig.java...
Parsing code for file controllers/ObservationController.java...
Parsing code for file controllers/SensorController.java...
Parsing code for file exceptions/ExceptionController.java...
Parsing code for file exceptions/SensorNotFoundException.java...
Parsing code for file models/Observation.java...
Parsing code for file models/Sensor.java...
Parsing code for file repository/ObservationRepository.java...
Parsing code for file repository/SensorRepository.java...
Parsing code for file services/ObservationService.java...
Parsing code for file services/ObservationServiceImp.java...
Parsing code for file services/SensorService.java...
Parsing code for file services/SensorServiceImp.java...
Parsing code for file util/HouseKeeper.java...
Parsing code for file util/JsonSerializer.java...
Generating file documentation...
Generating page documentation...
Generating group documentation...
Generating class documentation...
Generating docs for compound RuntimeException...
Generating namespace index...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::BackendApplication...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::configs::RESTConfiguration...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::configs::WebConfig...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::configs::WebInitializer...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::controllers::ObservationController...
Generating call graph for function edu.teco.sensordatenbankmanagementsystem.controllers.ObservationController.streamSseMvc
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::controllers::SensorController...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::exceptions::ExceptionController...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::exceptions::SensorNotFoundException...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::models::Observation...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::models::Sensor...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::repository::ObservationRepository...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::repository::SensorRepository...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::services::ObservationService...
Generating caller graph for function edu.teco.sensordatenbankmanagementsystem.services.ObservationService.getDataStream
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::services::ObservationServiceImp...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::services::SensorService...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::services::SensorServiceImp...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::util::HouseKeeper...
Generating graph info page...
Generating directory documentation...
Generating index page...
Generating page index...
Generating module index...
Generating namespace member index...
Generating annotated compound index...
Generating alphabetical compound index...
Generating hierarchical class index...
Generating graphical class hierarchy...
Generating member index...
Generating file index...
Generating file member index...
Generating example index...
finalizing index lists...
writing tag file...
Running plantuml with JAVA...
Running dot...
#REMOVED BECAUSE OF CHARACTER LIMIT
Running dot for graph 22/22
Patching output file 1/15
Patching output file 2/15
Patching output file 3/15
Patching output file 4/15
lookup cache used 342/65536 hits=1089 misses=535
finished...
如您所见,由于某些奇怪的原因,错误没有出现,但它确实出现在我的 Powershell 中。我不知道那是否是有用的信息,但我想我会包括它。
编辑:
我的 Doxygen 配置文件的内容如下(我删除了注释):
warning: Tag 'TCL_SUBST' at line 237 of file '.\doxygen.txt' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'COLS_IN_ALPHA_INDEX' at line 997 of file '.\doxygen.txt' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'PERL_PATH' at line 2015 of file '.\doxygen.txt' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'MSCGEN_PATH' at line 2037 of file '.\doxygen.txt' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
# Difference with default Doxyfile 1.9.1 (ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b)
PROJECT_NAME = "Sensor Ultra-lightweight Supervision:Active Meteorological ObservationGeneral Use System"
OUTPUT_DIRECTORY = out
ABBREVIATE_BRIEF =
STRIP_FROM_PATH = C:\Users\Surface\IdeaProjects\KIT-PSE_Sensordatenbankmanagementsystem\Backend\src\main\java\edu\teco\sensordatenbankmanagementsystem
STRIP_FROM_INC_PATH = C:\Users\Surface\IdeaProjects\KIT-PSE_Sensordatenbankmanagementsystem\Backend\src\main\java\edu\teco\sensordatenbankmanagementsystem
TAB_SIZE = 2
OPTIMIZE_OUTPUT_FOR_C = YES
BUILTIN_STL_SUPPORT = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_ANON_NSPACES = YES
HIDE_SCOPE_NAMES = YES
SHOW_USED_FILES = NO
SHOW_NAMESPACES = NO
FILE_PATTERNS =
RECURSIVE = YES
EXAMPLE_PATTERNS =
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = NO
IGNORE_PREFIX = edu/teco/sensordatenbankmanagementsystem
HTML_TIMESTAMP = YES
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
LATEX_CMD_NAME = latex
COMPACT_LATEX = YES
MACRO_EXPANSION = YES
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = YES
CALL_GRAPH = YES
CALLER_GRAPH = YES
DOT_IMAGE_FORMAT = jpg
INTERACTIVE_SVG = YES
所以我尝试创建一个 MWE,发现我的问题在另一个文件中:
public interface ObservationService {
/**
* This will return a previously created Datastream from its specified UUID.
* If there is no DataStream under the given UUID, none will be created
* @param id The UUID of the Datastream
*/
SseEmitter getDataStream(UUID id);
}
public class WhosebugTest {
ObservationService observationService;
/**
* Maps a get request that gets the SSE stream with the given UUID
*
* @param id UUID of SSE stream to get
* @return SSE stream for the given UUID
*/
@GetMapping("/stream/{id}")
public SseEmitter streamSseMvc(@PathVariable UUID id) {
return observationService.getDataStream(id);
}
}
只要我(再次)删除界面或 class 中的 Javadoc 的任何一部分,我就不会出错。
经过一些讨论,问题的根本原因是所使用的路径,这导致生成的点文件的文件名非常长,并出现类似警告:
C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/test/java/edu/teco/sensordatenbankmanagementsystem/out/html/interfaceedu_1_1teco_1_1sensoordatenbankmanagementsystem_1_1_observation_service_a93e02c2aaa18cd15de76e8b5f8313e4a_icgraph.dot
这个名称有 267 个字符长,对于某些文件系统来说这可能有点太长了。
可以通过设置 doxygen 设置来缓解一些问题:
SHORT_NAMES=YES
文档(参见:https://www.doxygen.nl/manual/config.html#cfg_short_names)说:
SHORT_NAMES
If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but less readable) file names. This can be useful is your file systems doesn't support long names like on DOS, Mac, or CD-ROM.
The default value is: NO.
which gives a bit a shorter name.
所以我有一个非常奇怪的错误。每当我将这部分包含在我的 javadoc
/**
* Maps a get request that gets the SSE stream with the given UUID
*
* @param id UUID of SSE stream to get
* @return SSE stream for the given UUID
*/
@GetMapping("/stream/{id}")
public SseEmitter streamSseMvc(@PathVariable UUID id)
(我知道这是不好的 Javadoc,但现在不是重点。)
我的 doxygen 使用此命令崩溃:doxygen -d extcmd .\doxygen.txt
在生成所有继承和协作图后出现此错误消息:
Running dot for graph 22/22
Patching output file 1/15
Patching output file 2/15
Patching output file 3/15
Patching output file 4/15
error: problem writing FIG 1 figure!
lookup cache used 342/65536 hits=1089 misses=535
finished...
修复此错误的唯一方法是删除出现此 JavaDoc 的整个文件或仅删除该 Javadoc 部分。我还不能进一步缩小它的范围,因为错误发生在 javadoc 的三个部分中的任何一个,但不是空的 javadoc 主体。我在另一个文件中也没有遇到此 Javadoc 的错误:
/**
* Maps a get request for getting a sensors metadata by UUID.
*
* @param id UUID of sensor to get
* @return sensor with given UUID, if present
*/
@GetMapping("/{id}")
public Sensor getSensor(@PathVariable UUID id)
更奇怪的是,当我尝试将它输出到文件时,错误出现在我的 Powershell 中,结果如下:
Doxygen version used: 1.9.1 (ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b)
Searching for include files...
Searching for example files...
Searching for images...
Searching for dot files...
Searching for msc files...
Searching for dia files...
Searching for files to exclude
Searching INPUT for files to process...
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/controllers
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/exceptions
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/models
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/out
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/repository
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services
Searching for files in directory C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/util
Reading and parsing tag files
Parsing files
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/BackendApplication.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/BackendApplication.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/RESTConfiguration.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/RESTConfiguration.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/WebConfig.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/WebConfig.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/WebInitializer.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/WebInitializer.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/WebSecurityConfig.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/configs/WebSecurityConfig.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/controllers/ObservationController.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/controllers/ObservationController.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/controllers/SensorController.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/controllers/SensorController.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/exceptions/ExceptionController.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/exceptions/ExceptionController.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/exceptions/SensorNotFoundException.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/exceptions/SensorNotFoundException.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/models/Observation.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/models/Observation.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/models/Sensor.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/models/Sensor.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/repository/ObservationRepository.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/repository/ObservationRepository.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/repository/SensorRepository.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/repository/SensorRepository.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/ObservationService.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/ObservationService.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/ObservationServiceImp.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/ObservationServiceImp.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/SensorService.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/SensorService.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/SensorServiceImp.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/services/SensorServiceImp.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/util/HouseKeeper.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/util/HouseKeeper.java...
Reading C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/util/JsonSerializer.java...
Parsing file C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/main/java/edu/teco/sensordatenbankmanagementsystem/util/JsonSerializer.java...
Building macro definition list...
Building group list...
Building directory list...
Building namespace list...
Building file list...
Building class list...
Computing nesting relations for classes...
Associating documentation with classes...
Building example list...
Searching for enumerations...
Searching for documented typedefs...
Searching for members imported via using declarations...
Searching for included using directives...
Searching for documented variables...
Building interface member list...
Building member list...
Searching for friends...
Searching for documented defines...
Computing class inheritance relations...
Computing class usage relations...
Flushing cached template relations that have become invalid...
Computing class relations...
Add enum values to enums...
Searching for member function documentation...
Creating members for template instances...
Building page list...
Search for main page...
Computing page relations...
Determining the scope of groups...
Sorting lists...
Determining which enums are documented
Computing member relations...
Building full member lists recursively...
Adding members to member groups.
Computing member references...
Inheriting documentation...
Generating disk names...
Adding source references...
Adding xrefitems...
Sorting member lists...
Setting anonymous enum type...
Computing dependencies between directories...
Generating citations page...
Counting members...
Counting data structures...
Resolving user defined references...
Finding anchors and sections in the documentation...
Transferring function references...
Combining using relations...
Adding members to index pages...
Correcting members for VHDL...
Computing tooltip texts...
Generating style sheet...
Generating search indices...
Generating example documentation...
Generating file sources...
Parsing code for file BackendApplication.java...
Parsing code for file configs/RESTConfiguration.java...
Parsing code for file configs/WebConfig.java...
Parsing code for file configs/WebInitializer.java...
Parsing code for file configs/WebSecurityConfig.java...
Parsing code for file controllers/ObservationController.java...
Parsing code for file controllers/SensorController.java...
Parsing code for file exceptions/ExceptionController.java...
Parsing code for file exceptions/SensorNotFoundException.java...
Parsing code for file models/Observation.java...
Parsing code for file models/Sensor.java...
Parsing code for file repository/ObservationRepository.java...
Parsing code for file repository/SensorRepository.java...
Parsing code for file services/ObservationService.java...
Parsing code for file services/ObservationServiceImp.java...
Parsing code for file services/SensorService.java...
Parsing code for file services/SensorServiceImp.java...
Parsing code for file util/HouseKeeper.java...
Parsing code for file util/JsonSerializer.java...
Generating file documentation...
Generating page documentation...
Generating group documentation...
Generating class documentation...
Generating docs for compound RuntimeException...
Generating namespace index...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::BackendApplication...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::configs::RESTConfiguration...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::configs::WebConfig...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::configs::WebInitializer...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::controllers::ObservationController...
Generating call graph for function edu.teco.sensordatenbankmanagementsystem.controllers.ObservationController.streamSseMvc
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::controllers::SensorController...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::exceptions::ExceptionController...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::exceptions::SensorNotFoundException...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::models::Observation...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::models::Sensor...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::repository::ObservationRepository...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::repository::SensorRepository...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::services::ObservationService...
Generating caller graph for function edu.teco.sensordatenbankmanagementsystem.services.ObservationService.getDataStream
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::services::ObservationServiceImp...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::services::SensorService...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::services::SensorServiceImp...
Generating docs for compound edu::teco::sensordatenbankmanagementsystem::util::HouseKeeper...
Generating graph info page...
Generating directory documentation...
Generating index page...
Generating page index...
Generating module index...
Generating namespace member index...
Generating annotated compound index...
Generating alphabetical compound index...
Generating hierarchical class index...
Generating graphical class hierarchy...
Generating member index...
Generating file index...
Generating file member index...
Generating example index...
finalizing index lists...
writing tag file...
Running plantuml with JAVA...
Running dot...
#REMOVED BECAUSE OF CHARACTER LIMIT
Running dot for graph 22/22
Patching output file 1/15
Patching output file 2/15
Patching output file 3/15
Patching output file 4/15
lookup cache used 342/65536 hits=1089 misses=535
finished...
如您所见,由于某些奇怪的原因,错误没有出现,但它确实出现在我的 Powershell 中。我不知道那是否是有用的信息,但我想我会包括它。
编辑: 我的 Doxygen 配置文件的内容如下(我删除了注释):
warning: Tag 'TCL_SUBST' at line 237 of file '.\doxygen.txt' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'COLS_IN_ALPHA_INDEX' at line 997 of file '.\doxygen.txt' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'PERL_PATH' at line 2015 of file '.\doxygen.txt' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'MSCGEN_PATH' at line 2037 of file '.\doxygen.txt' has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
# Difference with default Doxyfile 1.9.1 (ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b)
PROJECT_NAME = "Sensor Ultra-lightweight Supervision:Active Meteorological ObservationGeneral Use System"
OUTPUT_DIRECTORY = out
ABBREVIATE_BRIEF =
STRIP_FROM_PATH = C:\Users\Surface\IdeaProjects\KIT-PSE_Sensordatenbankmanagementsystem\Backend\src\main\java\edu\teco\sensordatenbankmanagementsystem
STRIP_FROM_INC_PATH = C:\Users\Surface\IdeaProjects\KIT-PSE_Sensordatenbankmanagementsystem\Backend\src\main\java\edu\teco\sensordatenbankmanagementsystem
TAB_SIZE = 2
OPTIMIZE_OUTPUT_FOR_C = YES
BUILTIN_STL_SUPPORT = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_ANON_NSPACES = YES
HIDE_SCOPE_NAMES = YES
SHOW_USED_FILES = NO
SHOW_NAMESPACES = NO
FILE_PATTERNS =
RECURSIVE = YES
EXAMPLE_PATTERNS =
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = NO
IGNORE_PREFIX = edu/teco/sensordatenbankmanagementsystem
HTML_TIMESTAMP = YES
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
LATEX_CMD_NAME = latex
COMPACT_LATEX = YES
MACRO_EXPANSION = YES
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = YES
CALL_GRAPH = YES
CALLER_GRAPH = YES
DOT_IMAGE_FORMAT = jpg
INTERACTIVE_SVG = YES
所以我尝试创建一个 MWE,发现我的问题在另一个文件中:
public interface ObservationService {
/**
* This will return a previously created Datastream from its specified UUID.
* If there is no DataStream under the given UUID, none will be created
* @param id The UUID of the Datastream
*/
SseEmitter getDataStream(UUID id);
}
public class WhosebugTest {
ObservationService observationService;
/**
* Maps a get request that gets the SSE stream with the given UUID
*
* @param id UUID of SSE stream to get
* @return SSE stream for the given UUID
*/
@GetMapping("/stream/{id}")
public SseEmitter streamSseMvc(@PathVariable UUID id) {
return observationService.getDataStream(id);
}
}
只要我(再次)删除界面或 class 中的 Javadoc 的任何一部分,我就不会出错。
经过一些讨论,问题的根本原因是所使用的路径,这导致生成的点文件的文件名非常长,并出现类似警告:
C:/Users/Surface/IdeaProjects/KIT-PSE_Sensordatenbankmanagementsystem/Backend/src/test/java/edu/teco/sensordatenbankmanagementsystem/out/html/interfaceedu_1_1teco_1_1sensoordatenbankmanagementsystem_1_1_observation_service_a93e02c2aaa18cd15de76e8b5f8313e4a_icgraph.dot
这个名称有 267 个字符长,对于某些文件系统来说这可能有点太长了。
可以通过设置 doxygen 设置来缓解一些问题:
SHORT_NAMES=YES
文档(参见:https://www.doxygen.nl/manual/config.html#cfg_short_names)说:
SHORT_NAMES
If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but less readable) file names. This can be useful is your file systems doesn't support long names like on DOS, Mac, or CD-ROM.
The default value is: NO. which gives a bit a shorter name.