2017-08-30 28 views
0

我有這一點在我pom.xml爲什麼三葉草從我的pom.xml配置中生成JSON?

<pluginManagement> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-release-plugin</artifactId> 
      <version>2.3.2</version> 
     </plugin> 
     <plugin> 
      <groupId>com.atlassian.maven.plugins</groupId> 
      <artifactId>clover-maven-plugin</artifactId> 
      <version>4.1.2</version> 
      <configuration> 
       <generateJson>true</generateJson> 
       <generateXml>true</generateXml> 
       <generateHtml>true</generateHtml> 
       <generatePdf>true</generatePdf> 
      </configuration> 
     </plugin> 
    </plugins> 
</pluginManagement> 

我知道PDF & JSON默認爲false。其他人默認爲true。

不知何故,當我這樣做時,我生成HTML,XML甚至PDF。 JSON無處可尋。它甚至說Generating JSON report to: /example/myrepo/target/site/clover,就像它爲XML一樣。當我去那個文件夾,我看到clover.pdfclover.xml。沒有clover.json

如果我做了以下操作,它奇怪地說No report being generated for this module.然後Generating JSON report to: /example/myrepo/target/site/clover

<configuration> 
    <generateJson>true</generateJson> 
    <generateXml>false</generateXml> 
    <generateHtml>false</generateHtml> 
    <generatePdf>false</generatePdf> 
</configuration> 

如果我這樣做,它可以追溯到生成報告只是「罰款」(這個例子將只創建XML,HTML沒有)。仍然沒有JSON

<configuration> 
    <generateJson>true</generateJson> 
    <generateXml>true</generateXml> 
    <generateHtml>false</generateHtml> 
    <generatePdf>false</generatePdf> 
</configuration> 

完全配置(有一些東西換留匿名)

<?xml version="1.0" encoding="UTF-8"?> 
<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <dependencies> 
     <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpclient</artifactId> 
      <version>4.5</version> 
     </dependency> 
     <dependency> 
      <groupId>org.yaml</groupId> 
      <artifactId>snakeyaml</artifactId> 
      <version>1.18</version> 
     </dependency> 
     <dependency> 
      <groupId>org.mockito</groupId> 
      <artifactId>mockito-core</artifactId> 
      <version>1.10.19</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.hamcrest</groupId> 
      <artifactId>hamcrest-all</artifactId> 
      <version>1.3</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <parent> 
     <groupId>org.jenkins-ci.plugins</groupId> 
     <artifactId>plugin</artifactId> 
     <version>1.583</version> 
     <relativePath /> 
    </parent> 
    <groupId>com.mynamespace</groupId> 
    <artifactId>myartifactid</artifactId> 
    <version>1.1.3</version> 
    <packaging>hpi</packaging> 

    <name>Test</name> 
    <description>Test</description> 
    <url>https://wiki.jenkins-ci.org/display/JENKINS/TODO+Plugin</url> 
    <licenses> 
     <license> 
      <name>MIT License</name> 
      <url>http://opensource.org/licenses/MIT</url> 
     </license> 
    </licenses> 
    <build> 
     <testSourceDirectory>src/test/java</testSourceDirectory> 
     <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory> 
     <testResources> 
      <testResource> 
       <directory>src/test/resources</directory> 
      </testResource> 
     </testResources> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-release-plugin</artifactId> 
        <version>2.3.2</version> 
       </plugin> 
       <plugin> 
        <groupId>com.atlassian.maven.plugins</groupId> 
        <artifactId>clover-maven-plugin</artifactId> 
        <version>4.1.2</version> 
        <configuration> 
         <generateJson>true</generateJson> 
         <generateXml>true</generateXml> 
         <generateHtml>false</generateHtml> 
         <generatePdf>false</generatePdf> 
        </configuration> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
    </build> 

    <repositories> 
     <repository> 
      <id>repo.jenkins-ci.org</id> 
      <url>http://repo.jenkins-ci.org/public/</url> 
     </repository> 
    </repositories> 
    <pluginRepositories> 
     <pluginRepository> 
      <id>repo.jenkins-ci.org</id> 
      <url>http://repo.jenkins-ci.org/public/</url> 
     </pluginRepository> 
    </pluginRepositories> 

</project> 

更新 我跑java -Dclover.license.path=/Users/dstein/Desktop/clover.lic -cp "/Users/dstein/.m2/repository/com/atlassian/clover/clover/4.1.2/*" com.atlassian.clover.reporters.json.JSONReporter -i target/clover/clover.db -o clover_json -d

它產生我的文件夾,並投擲了大量的JS文件在裏面。這些文件有時有JSON ...但被包裝在看起來像JSONP的東西中,因爲它會像processClover({})一樣。這是預期的行爲?他們稱之爲JSON的一個誤稱?

+0

你肯定會將此插件配置繼承到您期望生成的模塊嗎?你能分享你的模塊的層次結構,並解釋Json不生成geting的地方嗎? – nullpointer

+0

我能夠禁用HTML和XML,以及啓用PDF,所以不會證明它是正確地繼承這個配置?我沒有看到它在Clover說它生成在其他代位於的'target/site/clover'的文件夾中。 –

+0

*能夠禁用HTML和XML,以及啓用PDF,所以不會證明*它會,這個問題沒有讀取它。你也可以分享一個最小的項目來重現這一點嗎? – nullpointer

回答

0

似乎這個功能應該被稱爲JSONP。

The docs表明它的意思是輸出所有這些JS文件被網頁上的回調所消耗。它不是用來解析的,就像你可以用XML一樣。

相關問題