0

次のようなマルチモジュール Web アプリケーション プロジェクトがあります。

  1. ウェブベース
  2. 認証
  3. 文書
  4. ADFS
  5. テストサイト

Test-Siteは他のすべてのモジュールを問題なく使用します。

docは、JavaDoc とマウントされた Web ページ情報を組み合わせてSiteMapを構築します。それは私の SiteMap Generation のために JavaDocs を解析しているためです。Doclet はサイト マップの情報を解析して保存する最も簡単な方法だったので、Doclet Jar でもあります。

Test-sites pom.xml で私は持っています

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-javadoc-plugin</artifactId>
  <version>2.9</version>
  <executuions>
    <exceution>
      <id>build-siteMap-Descriptions</id>
      <phase>process-classes</phase>
      <goals>
        <goal>javadoc</goal>
      </goals>
      <configuration>
        <doclet>
          us.ak.state.revenue.cssd.utils.SiteMapDoclet
        </doclet>
        <docletPath>
          \;.;${project.build.outputDirectory};
        </docletPath>
        <docletArtifacts>
          <docletArtifact>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
          <version>1.6.2</version>
        </docletArtifact>
        <docletArtifact>
          <groupId>us.ak.state.revenue.cssd</groupId>
          <artifactId>doc</artifactId>
          <version>${project.version}</version>  <!-- problematic section -->
        </docletArtifact>
      </docletArtifacts>

      <bootclasspath>
         \;.;
         ${bootClassPath};
         ${env.CLASSPATH};
      </bootclasspath>

        <destDir>SiteMap</destDir>

        <author>false</author>
        <!-- don't print the packages/classes it's running on -->
        <quiet>true</quiet>
        <debug>true</debug> <!-- save options -->
        <useStandardDocletOptions>false</useStandardDocletOptions>

        <additionalparam>
          -sitemap us.ak.state.revenue.cssd.webBaseTest.Pages.SiteMap
        </additionalparam>

        <name>SiteMapDoclet</name>
        <description>Page Descriptions for SiteMap generation</description>
      </configuration>
    </execution>
  </exectuions>
</plugin>

したがって、実行mvn release:prepareすると、スナップショットの依存関係を解決する必要があり、次のエラーが発生します。

[INFO] An error has occurred in SiteMapDoclet report generation: Unable to find artifact:groupId = 'us.ak.state.revenue.cssd' 
[INFO] artifactId = 'doc' 
[INFO] version = '1.5.8' 
[INFO]  
[INFO] Unable to download the artifact from any repository

では、プロジェクトをデプロイするときにドックレットを正しく参照するにはどうすればよいでしょうか?

4

1 に答える 1

0

@khmabaise は私の古い質問を参照するのに適しています:プロジェクトでカスタム Doclet クラスをコンパイルして実行するにはどうすればよいですか?

少し面倒ですが、解決策はdocdocletPathに移動することでした

<docletPath>
  \;.;${project.build.outputDirectory};
  ${project.parent.basedir}/doc/target/doc-${project.version}.jar;
  ${m2Repository}/us/ak/state/revenue/cssd/doc/${project.version}/doc-${project.version}.jar;
</docletPath>

そして、 add docの依存関係で直接<docletArtifact>

レコード${m2Repository}は私のpomsプロパティで次のように定義されています

<m2Repository>${env.USERPROFILE}/.m2/repository</m2Repository>
于 2013-10-23T21:18:52.913 に答える