Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to avoid checking parent project in maven-site-plugin?

I have small maven project. I'm trying to add generating site by maven-site-plugin, but it doesn't work. When I'm building this project i get following error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.3:site (default-site) on project server-wms-product: SiteToolException: The site descriptor cannot be resolved from the repository: ArtifactResolutionException: Unable to locate site descriptor: Could not transfer artifact [PARENT-PROJECT]:xml:site_en:1.0.141.1 from/to eclipse (http://maven.eclipse.org/nexus/content/repositories/testing/): Connection to http://maven.eclipse.org refused

My project is extension for other project, so in my pom.xml is set parent project which isn't mine and I can't add site configuration there.

So is there any chance to skip checking parent project's site in site generation?

My pom.xml looks like this:

   <project>
       <parent>
        <artifactId>base-server-product</artifactId>
        <groupId>XXXXXXXXXXXx</groupId>
        <version>1.0</version>
    </parent>
        <build>
             <plugins>
                <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-site-plugin</artifactId>
                   <version>3.3</version>
                   <configuration>
                      <reportPlugins>
                      </reportPlugins>
                   </configuration>
                </plugin>
             </plugins>
       </build>
    </project>

And of course i have site.xml file in src/site.

like image 861
daprog Avatar asked May 11 '14 20:05

daprog


People also ask

What does Maven site plugin do?

The Site Plugin is used to generate a site for the project. The generated site also includes the project's reports that were configured in the POM. Please read the migration guide if you want to upgrade from a previous version.

What is Maven project Info reports plugin?

The Maven Project Info Reports plugin is used to generate reports information about the project.


2 Answers

Configure attaching the site descriptor to the artifacts in the parent pom.

<project>
  <artifactId>base-server-product</artifactId>
  <groupId>XXXXXXXXXXXx</groupId>
  <version>1.0</version>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-site-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-descriptor</id>
            <goals>
              <goal>attach-descriptor</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>

Core functionality has been separated from site generation in maven 3. You can find the reasons here. If you want to refer to the parent module's site from the submodule, you have to attach the site.xml to the deployed artifacts.

like image 66
palek Avatar answered Sep 18 '22 03:09

palek


I have the exact same problem, and after much googling, came across this article which solved my problem:

http://amanica.blogspot.com/2010/08/archiva-gives-maven-site-plugin-invalid.html?m=1

Basically you want to add a basic site_en.xml to /src/site/ folder in your parent pom.xml.

like image 44
ltfishie Avatar answered Sep 22 '22 03:09

ltfishie