gpt4 book ai didi

maven-javadoc-plugin 覆盖中央存储库

转载 作者:行者123 更新时间:2023-12-04 06:15:18 26 4
gpt4 key购买 nike

我对 Maven Javadoc 插件和自定义 doclet 有问题。

我正在使用 maven-javadoc-plugin v 2.10.1 和一个自定义的 doclet,它基本上是一个 maven jar 项目。

我也有 settings.xml它定义了 central存储库到自定义 Artifact 。

问题是,每当我运行 maven-javadoc-plugin 时,它都会尝试解决来自 https://repo.maven.apache.org/maven2 的自定义 doclet 的依赖关系。 , doclet 本身从自定义 Artifact 中解析。
调试输出也很奇怪,它说central存储库是 https://repo.maven.apache.org/maven2snapshot存储库是我的自定义快照 Artifact 。
它锁定就像 maven-jar-plugin 覆盖 central settings.xml 的存储库.

我怎么知道maven-jar-plugin不要覆盖我的 central存储库。

调试日志如下所示:

Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T18:29:23+01:00)
Maven home: PATH TO MAVEN
Java version: 1.8.0_51, vendor: Oracle Corporation
Java home: PATH TO JRE
Default locale: de_DE, platform encoding: UTF-8
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"
[DEBUG] Reading global settings from PATH TO MAVEN\conf\settings.xml
[DEBUG] Reading user settings from PATH TO USER\.m2\settings.xml
[DEBUG] Using local repository at PATH TO LOCAL REPOSITORY
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for PATH TO LOCAL REPOSITORY
[DEBUG] Skipped remote request for PARENT POM AND VERSION/maven-metadata.xml, locally installed metadata up-to-date.
[DEBUG] Extension realms for project ARTIFACT AND VERSION: (none)
[DEBUG] Looking up lifecyle mappings for packaging war from ClassRealm[plexus.core, parent: null]
[DEBUG] Extension realms for project ARTITFACT AND VERSION: (none)
[DEBUG] Looking up lifecyle mappings for packaging pom from ClassRealm[plexus.core, parent: null]
[DEBUG] Extension realms for project PARENT POM AND VERSION: (none)
[DEBUG] Looking up lifecyle mappings for packaging pom from ClassRealm[plexus.core, parent: null]
[DEBUG] Extension realms for project PARENT POM AND VERSION: (none)
[DEBUG] Looking up lifecyle mappings for packaging pom from ClassRealm[plexus.core, parent: null]
[DEBUG] Extension realms for project PARENT POM AND VERSION: (none)
[DEBUG] Looking up lifecyle mappings for packaging pom from ClassRealm[plexus.core, parent: null]
[DEBUG] Resolving plugin version for org.apache.maven.plugins:maven-jar-plugin
[DEBUG] Could not find metadata org.apache.maven.plugins:maven-jar-plugin/maven-metadata.xml in local (PATH TO LOCAL REPOSITORY)
[DEBUG] Skipped remote request for org.apache.maven.plugins:maven-jar-plugin/maven-metadata.xml, locally cached metadata up-to-date.
[DEBUG] Failure to find org.apache.maven.plugins:maven-jar-plugin/maven-metadata.xml in PATH TO CUSTOM PLUGIN SNAPSHOT REPOSITORY was cached in the local repository, resolution will not be reattempted until the update interval of snapshots has elapsed or updates are forced
[DEBUG] Resolved plugin version for org.apache.maven.plugins:maven-jar-plugin to 2.6 from repository central (PATH TO CUSTOM PLUGIN RELEASE REPOSITORY, default, releases)
[DEBUG] Resolving plugin prefix javadoc from [org.apache.maven.plugins, org.codehaus.mojo]
[DEBUG] Resolved plugin prefix javadoc to org.apache.maven.plugins:maven-javadoc-plugin from POM ARTIFACT AND VERSION
[DEBUG] === REACTOR BUILD PLAN ================================================
[DEBUG] Project: ARTIFACT AND VERSION
[DEBUG] Tasks: [javadoc:javadoc]
[DEBUG] Style: Regular
[DEBUG] =======================================================================
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building ARTIFACT AND VERSION
[INFO] ------------------------------------------------------------------------
[DEBUG] Resolving plugin prefix javadoc from [org.apache.maven.plugins, org.codehaus.mojo]
[DEBUG] Resolved plugin prefix javadoc to org.apache.maven.plugins:maven-javadoc-plugin from POM ARTIFACT AND VERSION
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] === PROJECT BUILD PLAN ================================================
[DEBUG] Project: ARTIFACT AND VERSION
[DEBUG] Dependencies (collect): []
[DEBUG] Dependencies (resolve): [compile]
[DEBUG] Repositories (dependencies): [central (PATH TO CUSTOM LIBS RELEASE REPOSITORY, default, releases), snapshots (PATH TO CUSTOM LIBS SNAPSHOT REPOSITORY, default, releases+snapshots)]
[DEBUG] Repositories (plugins) : [central (PATH TO CUSTOM PLUGIN RELEASE REPOSITORY, default, releases), snapshots (PATH TO CUSTOM PLUGIN SNAPSHOT REPOSITORY, default, releases+snapshots)]
[DEBUG] --- init fork of ARTIFACT AND VERSION for org.apache.maven.plugins:maven-javadoc-plugin:2.10.1:javadoc (default-cli) ---
[DEBUG] Dependencies (collect): []
[DEBUG] Dependencies (resolve): []
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal: org.codehaus.mojo:build-helper-maven-plugin:1.9.1:add-source (add-source)
[DEBUG] Style: Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
<sources>
<source>PATH TO ARTIFACT\target/generated-sources</source>
</sources>
<project default-value="${project}"/>
</configuration>
[DEBUG] --- exit fork of ARTIFACT AND VERSION for org.apache.maven.plugins:maven-javadoc-plugin:2.10.1:javadoc (default-cli) ---
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal: org.apache.maven.plugins:maven-javadoc-plugin:2.10.1:javadoc (default-cli)
[DEBUG] Style: Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
<additionalparam>-Xdoclint:none </additionalparam>
<doclet>PACKAGE AND CLASS OF CUSTOM DOCLET</doclet>
<docletArtifact>${docletArtifact}</docletArtifact>
<docletArtifacts>
<docletArtifact>
<groupId>CUSTOM DOCLET GROUP</groupId>
<artifactId>CUSTOM DOCLET ARTIFACT</artifactId>
<version>CUSTOM DOCLET VERSION</version>
</docletArtifact>${docletArtifacts}</docletArtifacts>
<docletPath>${docletPath}</docletPath>
</configuration>
[DEBUG] =======================================================================
[INFO]
[INFO] >>> maven-javadoc-plugin:2.10.1:javadoc (default-cli) > generate-sources @ ARTIFACT ID>>>
[INFO]
[INFO] --- build-helper-maven-plugin:1.9.1:add-source (add-source) @ ARTIFACT ID---
[DEBUG] Created new class realm maven.api
[DEBUG] Importing foreign packages into class realm maven.api
[DEBUG] Configuring mojo 'org.codehaus.mojo:build-helper-maven-plugin:1.9.1:add-source' with basic configurator -->
[DEBUG] (f) sources = [PATH TO ARTIFACT\target\generated-sources]
[DEBUG] (f) project = MavenProject: ARTITFACT AND VERSION @ PATH TO ARTIFACT\pom.xml
[DEBUG] -- end configuration --
[INFO] Source directory: PATH TO ARTIFACT\target\generated-sources added.
[INFO]
[INFO] <<< maven-javadoc-plugin:2.10.1:javadoc (default-cli) < generate-sources @ ARTIFACT ID <<<
[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=15, ConflictMarker.nodeCount=148, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=78, ConflictIdSorter.conflictIdCycleCount=2, ConflictResolver.totalTime=0, ConflictResolver.conflictItemCount=126, DefaultDependencyCollector.collectTime=437, DefaultDependencyCollector.transformTime=15}
[DEBUG] ARTIFACT AND VERSION
[DEBUG] org.jvnet.jax-ws-commons.spring:jaxws-spring:jar:1.9:compile
[DEBUG] javax.xml.ws:jaxws-api:jar:2.2.8:compile
[DEBUG] javax.xml.bind:jaxb-api:jar:2.2.7-facets-1.0.5:compile (version managed from 2.2.4 by PARENT POM AND VERSION)
[DEBUG] javax.xml.soap:saaj-api:jar:1.3.4:compile
[DEBUG] org.glassfish:javax.annotation:jar:3.1.1:runtime
[DEBUG] javax.servlet:servlet-api:jar:2.5:compile
[DEBUG] org.springframework:spring-core:jar:4.1.6.RELEASE:compile (version managed from 3.2.3.RELEASE by PARENT POM AND VERSION)
[DEBUG] commons-logging:commons-logging:jar:1.2:compile
[DEBUG] org.springframework:spring-beans:jar:4.1.6.RELEASE:compile (version managed from 3.2.3.RELEASE by PARENT POM AND VERSION)
[DEBUG] org.springframework:spring-context:jar:4.1.6.RELEASE:compile (version managed from 3.2.3.RELEASE by PARENT POM AND VERSION)
[DEBUG] org.springframework:spring-aop:jar:4.1.6.RELEASE:compile
[DEBUG] aopalliance:aopalliance:jar:1.0:compile
[DEBUG] org.springframework:spring-expression:jar:4.1.6.RELEASE:compile
[DEBUG] org.springframework:spring-web:jar:4.1.6.RELEASE:compile (version managed from 3.2.3.RELEASE by PARENT POM AND VERSION)
[DEBUG] org.apache.xbean:xbean-spring:jar:3.14:compile
[DEBUG] javax.jws:jsr181-api:jar:1.0-MR1:compile
[DEBUG] com.sun.xml.ws:policy:jar:2.5:compile
[DEBUG] javax.xml.stream:stax-api:jar:1.0-2:compile
[DEBUG] com.sun.xml.txw2:txw2:jar:20110809:compile
[DEBUG] relaxngDatatype:relaxngDatatype:jar:20020414:compile
[DEBUG] com.sun.istack:istack-commons-runtime:jar:2.4:compile
[DEBUG] org.codehaus.woodstox:woodstox-core-asl:jar:4.1.1:runtime
[DEBUG] org.codehaus.woodstox:stax2-api:jar:3.1.1:runtime
[DEBUG] org.glassfish.gmbal:gmbal-api-only:jar:3.2.0-b003:compile
[DEBUG] org.glassfish.external:management-api:jar:3.0.0-b012:compile
[DEBUG] org.springframework:spring-orm:jar:4.1.6.RELEASE:compile
[DEBUG] org.springframework:spring-jdbc:jar:4.1.6.RELEASE:compile
[DEBUG] org.springframework:spring-tx:jar:4.1.6.RELEASE:compile
[DEBUG] com.sun.xml.bind:jaxb-impl:jar:2.2.6-facets-1.3.1:compile
[DEBUG] com.sun.xml.ws:jaxws-tools:jar:2.2.6:compile
[DEBUG] com.sun.xml.ws:jaxws-rt:jar:2.2.8:compile (version managed from 2.2.6 by PARENT POM AND VERSION)
[DEBUG] javax.xml.soap:javax.xml.soap-api:jar:1.3.5:compile
[DEBUG] javax.annotation:javax.annotation-api:jar:1.2-b03:compile
[DEBUG] com.sun.xml.bind:jaxb-core:jar:2.2.7:compile
[DEBUG] org.jvnet.mimepull:mimepull:jar:1.9.1:compile
[DEBUG] com.sun.xml.fastinfoset:FastInfoset:jar:1.2.12:compile
[DEBUG] org.glassfish.ha:ha-api:jar:3.1.9:compile
[DEBUG] com.sun.xml.messaging.saaj:saaj-impl:jar:1.3.20:compile
[DEBUG] com.sun.org.apache.xml.internal:resolver:jar:20050927:compile
[DEBUG] com.sun.xml.bind:jaxb-xjc:jar:2.2.5:compile
[DEBUG] net.java.loci:jsr308-all:jar:1.1.2:compile
[DEBUG] javax.validation:validation-api:jar:1.1.0.Final:compile
[DEBUG] oracle:ojdbc6:jar:11.2.0.4.0:provided
[DEBUG] org.eclipse.persistence:eclipselink:jar:2.5.1:provided
[DEBUG] org.eclipse.persistence:javax.persistence:jar:2.1.0:provided
[DEBUG] org.eclipse.persistence:commonj.sdo:jar:2.1.1:provided
[DEBUG] com.sun.xml.stream.buffer:streambuffer:jar:1.4:compile
[DEBUG] org.jvnet.staxex:stax-ex:jar:1.6:compile
[DEBUG] javax.activation:activation:jar:1.1:compile
[DEBUG] commons-dbcp:commons-dbcp:jar:1.4:compile
[DEBUG] commons-pool:commons-pool:jar:1.5.4:compile
[DEBUG] org.apache.commons:commons-lang3:jar:3.3.2:compile
[DEBUG] org.springframework:spring-test:jar:4.1.6.RELEASE:test
[DEBUG] com.github.springtestdbunit:spring-test-dbunit:jar:1.2.1:test
[DEBUG] org.dbunit:dbunit:jar:2.5.1:test
[DEBUG] org.slf4j:slf4j-api:jar:1.7.12:test
[DEBUG] commons-collections:commons-collections:jar:3.2.1:test
[DEBUG] org.apache.poi:poi-ooxml:jar:3.11:test
[DEBUG] org.apache.poi:poi:jar:3.11:test
[DEBUG] commons-codec:commons-codec:jar:1.9:test
[DEBUG] org.apache.poi:poi-ooxml-schemas:jar:3.11:test
[DEBUG] org.apache.xmlbeans:xmlbeans:jar:2.6.0:test
[DEBUG] stax:stax-api:jar:1.0.1:test
[DEBUG] junit:junit:jar:4.12:test
[DEBUG] org.hamcrest:hamcrest-core:jar:1.3:test
[DEBUG] pl.pragmatists:JUnitParams:jar:1.0.4:test
[DEBUG] org.mockito:mockito-all:jar:1.10.19:test
[DEBUG] org.reflections:reflections:jar:0.9.9:compile
[DEBUG] com.google.guava:guava:jar:15.0:compile
[DEBUG] org.javassist:javassist:jar:3.18.2-GA:compile
[DEBUG] com.google.code.findbugs:annotations:jar:2.0.1:compile
[DEBUG] CUSTOM DEPENDENCY OF ARTIFACT:compile
[DEBUG] log4j:log4j:jar:1.2.16:compile
[DEBUG] org.aspectj:aspectjrt:jar:1.8.5:compile
[DEBUG] org.aspectj:aspectjweaver:jar:1.8.5:compile
[DEBUG] CUSTOM DEPENDENCY OF ARTIFACT:compile
[DEBUG] CUSTOM DEPENDENCY OF ARTIFACT:compile
[DEBUG] CUSTOM DEPENDENCY OF ARTIFACT:compile
[INFO]
[INFO] --- maven-javadoc-plugin:2.10.1:javadoc (default-cli) @ ARTITFACT ID---
[DEBUG] Configuring mojo org.apache.maven.plugins:maven-javadoc-plugin:2.10.1:javadoc from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-javadoc-plugin:2.10.1, parent: sun.misc.Launcher$AppClassLoader@4e25154f]
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-javadoc-plugin:2.10.1:javadoc' with basic configurator -->
[DEBUG] (f) additionalparam = -Xdoclint:none
[DEBUG] (f) doclet = CUSTOM DOCLECT
[DEBUG] (f) docletArtifact = groupId = 'null'
artifactId = 'null'
version = 'null'
[DEBUG] (s) groupId = GROUP OF CUSTOM DOCLET
[DEBUG] (s) artifactId = ARTIFACT ID OF CUSTOM DOCLET
[DEBUG] (s) version = VERSION OF CUSTOM DOCLET
[DEBUG] (f) docletArtifacts = [groupId = 'GROUP OF CUSTOM DOCLET'
artifactId = 'ARTIFACT ID OF CUSTOM DOCLET'
version = 'VERSION OF CUSTOM DOCLET']
[DEBUG] (f) doctitle = ARTIFACT ID AND VERSION
[DEBUG] (f) javadocDirectory = PATH TO ARTIFACT\src\main\javadoc
[DEBUG] (f) javadocOptionsDir = PATH TO ARTIFACT\target\javadoc-bundle-options
[DEBUG] (f) localRepository = id: local
url: file:///PATH TO LOCAL REPOSITORY
layout: default
snapshots: [enabled => true, update => always]
releases: [enabled => true, update => always]
[DEBUG] (f) project = MavenProject: ARTIFACT AND VERSION @ PATH TO ARTIFACT\pom.xml
[DEBUG] (f) reactorProjects = [MavenProject: ARTIFACT AND VERSION @ PATH TO ARTIFACT\pom.xml]
[DEBUG] (f) remoteRepositories = [ id: central
url: PATH TO CUSTOM LIBS RELEASE REPOSITORY
layout: default
snapshots: [enabled => false, update => daily]
releases: [enabled => true, update => daily]
, id: snapshots
url: PATH TO CUSTOM LIBS SNAPSHOT REPOSITORY
layout: default
snapshots: [enabled => true, update => daily]
releases: [enabled => true, update => daily]
]
[DEBUG] (s) reportOutputDirectory = PATH TO ARTIFACT\target\site\apidocs
[DEBUG] (f) sourceDependencyCacheDir = PATH TO ARTIFACT\target\distro-javadoc-sources
[DEBUG] (f) windowtitle = ARTIFACT AND VERSION
[DEBUG] -- end configuration --
[DEBUG] Could not find metadata CUSTOM DOCLET AND VERSION/maven-metadata.xml in local (PATH TO LOCAL REPOSITORY)
[DEBUG] Using transporter WagonTransporter with priority -1.0 for PATH TO CUSTOM LIBS RELEASE REPOSITORY
[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for PATH TO CUSTOM LIBS RELEASE REPOSITORY
[INFO] Downloading: PATH TO CUSTOM LIBS RELEASE REPOSITORY/PATH TO CUSTOM DOCLET/maven-metadata.xml
[INFO] Downloaded: PATH TO CUSTOM LIBS RELEASE REPOSITORY/PATH TO CUSTOM DOCLET/maven-metadata.xml (770 B at 1.0 KB/sec)
[DEBUG] Writing tracking file PATH TO LOCAL REPOSITORY\PATH TO CUSTOM DOCLET\resolver-status.properties
[DEBUG] Using transporter WagonTransporter with priority -1.0 for PATH TO CUSTOM LIBS RELEASE REPOSITORY
[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for PATH TO CUSTOM LIBS RELEASE REPOSITORY
[INFO] Downloading: PATH TO CUSTOM LIBS RELEASE REPOSITORY/PATH TO CUSTOM DOCLET.pom
[INFO] Downloaded: PATH TO CUSTOM LIBS RELEASE REPOSITORY/PATH TO CUSTOM DOCLET.pom (3 KB at 88.8 KB/sec)
[DEBUG] Writing tracking file PATH TO LOCAL REPOSITORY\PATH TO CUSTOM DOCLET\_remote.repositories
[DEBUG] Writing tracking file PATH TO LOCAL REPOSITORY\PATH TO CUSTOM DOCLET.pom.lastUpdated
[DEBUG] Could not find metadata CUSTOM DOCLET ARTIFACT AND VERSION/maven-metadata.xml in local (PATH TO LOCAL REPOSITORY)
[DEBUG] Skipped remote request for CUSTOM DOCLET ARTIFACT AND VERSION/maven-metadata.xml, already updated during this session.
[DEBUG] Using transporter WagonTransporter with priority -1.0 for PATH TO CUSTOM LIBS RELEASE REPOSITORY
[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for PATH TO CUSTOM LIBS RELEASE REPOSITORY
[INFO] Downloading: PATH TO CUSTOM LIBS RELEASE REPOSITORY/PATH TO CUSTOM DOCLET.jar
[INFO] Downloaded: PATH TO CUSTOM LIBS RELEASE REPOSITORY/PATH TO CUSTOM DOCLET.jar (47 KB at 1512.5 KB/sec)
[DEBUG] Writing tracking file PATH TO LOCAL REPOSITORY\PATH TO CUSTOM DOCLET\_remote.repositories
[DEBUG] Writing tracking file PATH TO LOCAL REPOSITORY\PATH TO CUSTOM DOCLET.jar.lastUpdated
[DEBUG] CUSTOM DOCLET ARTIFACT AND VERSION (selected for null)
[DEBUG] jdk.tools:jdk.tools:jar:1.8.0_51:system (selected for system)
[DEBUG] org.apache.commons:commons-lang3:jar:3.3.2:compile (selected for compile)
[DEBUG] javax.xml.bind:jaxb-api:jar:2.2.7-facets-1.0.5:compile (selected for compile)
[DEBUG] javax.xml.bind:jaxb-api:jar:2.2.7:compile (removed - nearer found: 2.2.7-facets-1.0.5)
[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://repo.maven.apache.org/maven2 <b><-- ???</b>
[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://repo.maven.apache.org/maven2 <br><--- ???</b>
[INFO] Downloading: https://repo.maven.apache.org/maven2/com/bitplan/mediawiki-japi/0.0.4/mediawiki-japi-0.0.4.pom
[DEBUG] Writing tracking file PATH TO LOCAL REPOSITORY\com\bitplan\mediawiki-japi\0.0.4\mediawiki-japi-0.0.4.pom.lastUpdated
[DEBUG] Using transporter WagonTransporter with priority -1.0 for PATH TO CUSTOM LIBS SNAPSHOT REPOSITORY
[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for PATH TO CUSTOM LIBS SNAPSHOT REPOSITORY
[INFO] Downloading: PATH TO CUSTOM LIBS SNAPSHOT REPOSITORY/com/bitplan/mediawiki-japi/0.0.4/mediawiki-japi-0.0.4.pom
[DEBUG] Writing tracking file PATH TO LOCAL REPOSITORY\com\bitplan\mediawiki-japi\0.0.4\mediawiki-japi-0.0.4.pom.lastUpdated
[DEBUG] com.google.code.gson:gson:jar:2.3.1:compile (selected for compile)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26.242 s
[INFO] Finished at: 2016-01-28T08:29:00+01:00
[INFO] Final Memory: 22M/218M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.1:javadoc (default-cli) on project ARTIFACT ID: An error has occurred in JavaDocs report generation: Unable to resolve artifact:groupId = 'GROUP OF CUSTOM DOCLET'
[ERROR] artifactId = 'ARTIFACT OF CUSTOM DOCLET'
[ERROR] version = 'VERSION OF CUSTOM DOCLET': Unable to get dependency information for com.bitplan:mediawiki-japi:jar:0.0.4: Failed to retrieve POM for com.bitplan:mediawiki-japi:jar:0.0.4: Could not transfer artifact com.bitplan:mediawiki-japi:pom:0.0.4 from/to central (https://repo.maven.apache.org/maven2): Connect to repo.maven.apache.org:443 [repo.maven.apache.org/185.31.17.215] failed: Connection timed out: connect
[ERROR] com.bitplan:mediawiki-japi:jar:0.0.4
[ERROR]
[ERROR] from the specified remote repositories:
[ERROR] central (https://repo.maven.apache.org/maven2, releases=true, snapshots=false),
[ERROR] snapshots (PATH TO CUSTOM LIBS SNAPSHOT REPOSITORY, releases=true, snapshots=true)
[ERROR] Path to dependency:
[ERROR] 1) CUSTOM DOCLET ARTIFACT AND VERSION
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.1:javadoc (default-cli) on project ARTIFACT ID: An error has occurred in JavaDocs report generation: Unable to resolve artifact:groupId = 'GROUP OF CUSTOM DOCLET'
artifactId = 'ARTIFACT ID OF CUSTOM DOCLET'
version = 'VERSION OF CUSTOM DOCLET'
Caused by: org.apache.maven.plugin.MojoExecutionException: An error has occurred in JavaDocs report generation: Unable to resolve artifact:groupId = 'GROUP OF CUSTOM DOCLET'
artifactId = 'ARTIFACT ID OF CUSTOM DOCLET'
version = 'VERSION OF CUSTOM DOCLET'
Caused by: org.apache.maven.reporting.MavenReportException: Unable to resolve artifact:groupId = 'GROUP OF CUSTOM DOCLET'
artifactId = 'ARTIFACT ID OF CUSTOM DOCLET'
version = 'VERSION OF CUSTOM DOCLET'
Caused by: org.apache.maven.artifact.resolver.ArtifactResolutionException: Unable to get dependency information for com.bitplan:mediawiki-japi:jar:0.0.4: Failed to retrieve POM for com.bitplan:mediawiki-japi:jar:0.0.4: Could not transfer artifact com.bitplan:mediawiki-japi:pom:0.0.4 from/to central (https://repo.maven.apache.org/maven2): Connect to repo.maven.apache.org:443 [repo.maven.apache.org/185.31.17.215] failed: Connection timed out: connect
com.bitplan:mediawiki-japi:jar:0.0.4
from the specified remote repositories:
central (https://repo.maven.apache.org/maven2, releases=true, snapshots=false),
snapshots (PATH TO CUSTOM LIBS SNAPSHOT REPOSITORY, releases=true, snapshots=true)
Path to dependency:
1) CUSTOM DOCLET ARTIFACT AND VERSION

我必须删减一些 Stacktraces 并希望删减不必要的调试日志,因为我只有 30000 个字符。

这是带有 maven-javadoc-plugin 配置的父 POM
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>XXX</groupId>
<artifactId>XXX</artifactId>
<version>XXXX</version>

<packaging>pom</packaging>

<name>Parent POM</name>

<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.1</version>
<configuration>
<show>public</show>
<excludePackageNames>*.ws.jaxws.*</excludePackageNames>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
<executions>
<execution>
<id>default-cli</id>
<goals>
<goal>javadoc</goal>
</goals>
<configuration>
<docletArtifacts>
<docletArtifact>
<groupId>GROUP ID OF CUSTOM DOCLET <groupId>
<artifactId>ARTIFACT ID OF CUSTOM DOCLET</artifactId>
<version>VERSION OF CUSTOM DOCLET</version>
</docletArtifact>
</docletArtifacts>
<doclet>PACKAGE AND CLASS OF CUSTOM DOCLET</doclet>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencyManagement>
MULTIPLE DEPENDENCIES WITH VERSION
</dependencyManagement>
</project>

更新 : 这是我的 settings.xml
<profiles>
<profile>
<id>artifactory</id>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>libs-release</name>
<url>PATH TO CUSTOM REPOSITORY LIBS RELEASE</url>
</repository>
<repository>
<snapshots/>
<id>snapshots</id>
<name>libs-snapshot</name>
<url>PATH TO CUSTOM REPOSITORY LIBS SNAPSHOT</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>plugins-release</name>
<url>PATH TO CUSTOM REPOSITORY PLUGINS RELEASE</url>
</pluginRepository>
<pluginRepository>
<snapshots/>
<id>snapshots</id>
<name>plugins-snapshot</name>
<url>PATH TO CUSTOM REPOSITORY PLUGINS SNAPSHOT</url>
</pluginRepository>
</pluginRepositories>
</profile>
<profile>
<id>local</id>
<properties>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
<activeProfile>local</activeProfile>
</activeProfiles>

我希望有人能帮助我解决这个问题。

带着敬意

最佳答案

可能的故障排除路径:

Maven 设置 (在您最近的更新/编辑之后,这已经被选中)
settings.xml为您的自定义 Maven 存储库提供配置的文件可能只在其 repositories 中指向它。部分(用于依赖关系调解的存储库)而不是 pluginRepositories部分(用于插件/报告中介和插件的依赖关系中介的存储库)。

来自 official maven documentation pluginRepositories应指定:

The lists of the remote repositories for discovering plugins.



如果没有这个额外的配置,Maven 将尝试解决插件对插件默认存储库的依赖,它来自 Maven super POM .看看它,插件的默认存储库实际上是您的构建指向的存储库( https://repo.maven.apache.org/maven2 ):
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Central Repository</name>
<url>http://repo.maven.apache.org/maven2</url> <!-- HERE YOU ARE!-->
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
</pluginRepositories>

如果您想查看 Maven 构建使用的有效设置,则可以运行以下命令并检查其输出:
mvn help:effective-pom

effective-pom 目标将作为构建输出的一部分打印整个合并的 pom 和使用的设置。从它,您应该能够看到哪个 pluginRepositories您的构建是否有效使用。

注意: -Doutput参数可能有助于将其重定向到外部文件。

神器配置

如果不是这种情况(因此,配置是一致的,并且在两个部分都指向您的自定义 Maven 存储库),您应该检查自定义存储库是否配置良好:
  • Artifactory 带有库、插件和快照的默认存储库
  • Artifactory 可以配置为使用虚拟存储库,将多个真实存储库聚合在
  • 后面。
  • 您的自定义库可能已上传到 lib 存储库,该库未包含在提供插件依赖项的虚拟存储库中

  • 从您提供的输出片段中:
    [DEBUG] Repositories (dependencies): [central (PATH TO CUSTOM LIBS RELEASE REPOSITORY, default, releases), snapshots (PATH TO CUSTOM LIBS SNAPSHOT REPOSITORY, default, releases+snapshots)]
    [DEBUG] Repositories (plugins) : [central (PATH TO CUSTOM PLUGIN RELEASE REPOSITORY, default, releases), snapshots (PATH TO CUSTOM PLUGIN SNAPSHOT REPOSITORY, default, releases+snapshots)]

    实际情况可能如此。

    这是一个常见的错误配置(我过去也遇到过这种情况)。实际上,在大多数情况下,您甚至不需要为插件依赖项使用不同的存储库,并且只有一个用于发布库的虚拟存储库和一个用于快照库的虚拟存储库会更容易和更清晰,同时提供依赖项和插件 Artifact 。因此,仅区分已发布和快照,而不区分依赖项和插件(或者,如果您确实想保留当前配置,则可以将 libs 存储库添加为虚拟插件存储库的一部分)。

    一个简单而无害的测试是:
  • 在 Artifactory 中配置一个新的虚拟存储库
  • 新的虚拟存储库将包括库和插件存储库
  • 在您的 Maven 设置中配置新的虚拟存储库(在两个存储库部分)
  • 再次运行 Maven 构建


  • 使用插件依赖 (在您的最新评论之后: 宾果游戏!,这解决了问题)

    您应该将所需的依赖项添加为插件依赖项,如下所示:
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.10.1</version>
    <configuration>
    <show>public</show>
    <excludePackageNames>*.ws.jaxws.*</excludePackageNames>
    <additionalparam>-Xdoclint:none</additionalparam>
    </configuration>
    <executions>
    <execution>
    <id>default-cli</id>
    <goals>
    <goal>javadoc</goal>
    </goals>
    <configuration>
    <docletArtifacts>
    <docletArtifact>
    <groupId>GROUP ID OF CUSTOM DOCLET</groupId>
    <artifactId>ARTIFACT ID OF CUSTOM DOCLET</artifactId>
    <version>VERSION OF CUSTOM DOCLET</version>
    </docletArtifact>
    </docletArtifacts>
    <doclet>PACKAGE AND CLASS OF CUSTOM DOCLET</doclet>
    </configuration>
    </execution>
    </executions>
    <dependencies>
    <dependency>
    <groupId>GROUP ID OF CUSTOM DOCLET</groupId>
    <artifactId>ARTIFACT ID OF CUSTOM DOCLET</artifactId>
    <version>VERSION OF CUSTOM DOCLET</version>
    </dependency>
    </dependencies>
    </plugin>

    请注意 dependencies底部相关栏目 plugin部分。插件不解决项目依赖,所以如果需要外部库,你需要将它们声明为插件依赖。

    但是,Javadoc Maven 插件也提供了一个 additionalDependencies ,它复制了上面针对其特定范围的(标准)功能。

    capability to add optionnal dependencies to the javadoc classpath



    但是,根据您的反馈,标准方法成功了。

    编辑 (02/02/2016 9:37)
    如果您还需要报告依赖项(基于您的最新评论),那么报告部分确实不会像插件那样预见插件依赖项。这是 known issue .

    但是,建议两种解决方法:
  • 将依赖项设置为 build [extension] ( https://maven.apache.org/pom.html#Extensions )(参见下面的代码段),尽管 not recommended
    <build>
    <extensions>
    <extension>
    <groupId>GROUP ID OF CUSTOM DOCLET</groupId>
    <artifactId>ARTIFACT ID OF CUSTOM DOCLET</artifactId>
    <version>VERSION OF CUSTOM DOCLET</version>
    </extension>
    </extensions>
    </build>

    来自 official documentation :

    Extensions are a list of artifacts that are to be used in this build. They will be included in the running build's classpath.

  • 设置插件的依赖项(如上面已经建议的)应该同时应用于插件和报告机制,如 in this Sonatype post 所述。

    There is a way to make this happen with reports. In the example below, I removed the execution from the plugin block and added the plugin as a report. It seems that the dependency is inherited when the plugin is used in reporting.



    也记录了类似的方法 here .

  • 编辑 (03/02/2016) (在您的最新评论之后: 宾果游戏!,使用构建扩展修复了该问题)

    使用 docletPath 配置元素

    看着 official documentation Maven Javadoc 插件, docletPath配置元素应提供外部文件(依赖项)的路径,该路径与预期的 docletPath 一致。官方选项 javadoc命令。

    查看官方文档,路径方法优于 Maven 依赖项方法。因此,您的配置可以进行如下调整:
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.10.1</version>
    <configuration>
    <show>public</show>
    <excludePackageNames>*.ws.jaxws.*</excludePackageNames>
    <additionalparam>-Xdoclint:none</additionalparam>
    </configuration>
    <executions>
    <execution>
    <id>default-cli</id>
    <goals>
    <goal>javadoc</goal>
    </goals>
    <configuration>
    <docletArtifacts>
    <docletArtifact>
    <groupId>GROUP ID OF CUSTOM DOCLET</groupId>
    <artifactId>ARTIFACT ID OF CUSTOM DOCLET</artifactId>
    <version>VERSION OF CUSTOM DOCLET</version>
    </docletArtifact>
    </docletArtifacts>
    <doclet>PACKAGE AND CLASS OF CUSTOM DOCLET</doclet>
    <docletPath>path_to_jar/fileName.jar</docletPath>
    </configuration>
    </execution>
    </executions>
    </plugin>

    请注意 docletPath元素,一个用于所有 docletArtifacts。根据文档:

    Specifies the path to the doclet starting class file (specified with the -doclet option) and any jar files it depends on. The docletPath can contain multiple paths by separating them with a colon (:) or a semi-colon (;).



    official example还展示了如何使用它:我试过了,在我们的内部公司 Artifactory 上配置了依赖项并且没有指定任何 jar 的任何路径,并且附加的依赖项已成功解决,因此 - 再次 - 我还会检查 Artifactory 的配置以及您的自定义 doclet 库可从插件存储库访问。

    关于maven-javadoc-plugin 覆盖中央存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35056526/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com