Bazı verileri toplayan ve bir raportöre ileten bir belge yazdım. Bu muhabirin değiştirilebilir olmasını istiyorum. EkDependency ve/veya pluginDependency kullanarak doclet sınıf yoluna bir muhabir uygulaması eklemeyi denedim. Raportör uygulamasını Java 6 hizmet yükleyicisi ile yükleyemiyorum ve ayrıca sınıfları doclet sınıfı yükleyiciyi veya iş parçacıkları bağlam sınıfı yükleyicisini kullanarak işe yaramaz.maven-javadoc-plugin kullanarak doclet sınıfyoluna kavanoz ekle
Test.TestReporterImpl'i test belgesi sınıf yoluna nasıl alabilirim? doclet olarak
: pom içinde
apiReporterServiceLoader = ServiceLoader.load(TestReporter.class); // test.TestReporter
apiReporterServiceLoader.iterator().hasNext(); // false
Thread.currentThread().getContextClassLoader().loadClass("test.TestReporterImpl"); // ClassNotFoundException
getClass().getClassLoader().loadClass("test.TestReporterImpl"); // ClassNotFoundException
doclet
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<executions>
<execution>
<id>run-my-doclet</id>
<goals>
<goal>javadoc</goal>
</goals>
<phase>generate-resources</phase>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>test</groupId>
<artifactId>test-doclet-test-reporter</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<configuration>
<doclet>test.TestDoclet</doclet>
<docletArtifact>
<groupId>test</groupId>
<artifactId>test-doclet</artifactId>
<version>${project.version}</version>
</docletArtifact>
<additionalDependencies>
<additionalDependency>
<groupId>test</groupId>
<artifactId>test-doclet-test-reporter</artifactId>
<version>${project.version}</version>
</additionalDependency>
</additionalDependencies>
<useStandardDocletOptions>false</useStandardDocletOptions>
</configuration>
</plugin>
test doclet test-muhabir/src/main/kaynaklar/META-INF/hizmet/Deneyin gerçekleştirilmesi. TestReporter
test.TestReporterImpl
Hangi kaynakları kullanıyorsunuz? Tüm kaynaklar sınıf yolunda. Sorun, eklenti bağımlılığı/ekDepentency, doclet'in sınıf yolunda bulunmuyor – sventschui
Kaynak dir, ideal olarak sınıf yolunun bir parçası olmalı ve nihai oluşturulan kavanozlara dahil edilmeli olsa da, benzer bir sorunla ilgili olarak bir özellik dosyasını açıkça belirtmem gerekiyordu. Son dizimdeki (gölge eklentisini kullanarak) alt dizinin altındaki kaynaklarda. Sonunda, pom.xml kaynaklar etiketinin altındaki kaynak klasörünü açıkça belirterek dahil etmeye çalıştım ve işe yaradı. Tersine, açık beyanı kaldırsaydım, özellikler dosyası son kavanozun bir parçası değildi. –
Kullanım durumum, ikinci kavanozun değiştirilebilir olmasını istiyorum. Kaynaklarım sınıf yolunda ancak ikinci kavanoz, doclet eklentisi – sventschui