Java 为什么在fat jar中没有显示方法的注释?
同事们,我有一个POM,可以创建胖罐子:Java 为什么在fat jar中没有显示方法的注释?,java,maven,javadoc,maven-assembly-plugin,maven-javadoc-plugin,Java,Maven,Javadoc,Maven Assembly Plugin,Maven Javadoc Plugin,同事们,我有一个POM,可以创建胖罐子: <properties> <java.version>1.8</java.version> <jdk.version>1.8</jdk.version> <spring.version>4.2.2.RELEASE</spring.version> <project.build.sourceEncodin
<properties>
<java.version>1.8</java.version>
<jdk.version>1.8</jdk.version>
<spring.version>4.2.2.RELEASE</spring.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- Spring framework -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.1</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.11.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<executions>
<execution>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.19</version>
</dependency>
</dependencies>
<configuration>
<includes>
<include>AdapterAppTest.java</include>
</includes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<!-- TODO исключить ряд библиотек -->
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>com.comp.adapter</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>prepare-package</phase>
<goals>
<goal>javadoc</goal>
</goals>
<configuration>
<excludePackageNames>com.comp.entities</excludePackageNames>
<additionalparam>-Xdoclint:none</additionalparam>
<reportOutputDirectory>${project.build.directory}/classes/</reportOutputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
1.8
1.8
4.2.2.1发布
UTF-8
org.springframework
spring上下文
4.2.3.1发布
org.springframework
弹簧芯
4.2.3.1发布
朱尼特
朱尼特
4.12
log4j
log4j
1.2.17
org.apache.httpcomponents
httpclient
4.5.1
薛西斯
干细胞移植
2.11.0
org.apache.maven.plugins
maven编译器插件
3.3
${jdk.version}
${jdk.version}
UTF-8
org.apache.maven.plugins
maven surefire插件
2.19
测试
org.apache.maven.surefire
surefire-junit47
2.19
AdapterAppTest.java
maven汇编插件
假的
com.comp.adapter
带有依赖项的jar
org.apache.maven.plugins
maven javadoc插件
附加javadocs
准备包装
javadoc
com.comp.entities
-Xdoclint:无
${project.build.directory}/classes/
因此,我在文件夹\target\classes\apidocs中有fat jar和javadoСdescription。
之后,我将这个胖jar添加到新项目中(添加外部jar),但在使用方法时,我看不到方法描述。为什么,我做错了什么
更新
ideeclipse
更新2
jar中没有*.java文件 要么您必须包含源代码,要么您需要将源代码发布到您的maven存储库(即:Nexus)Shervin,谢谢您关注我的问题。首先,我希望看到从创建的fat jar文件调用方法时的描述。如果我能正确理解这一点,我需要在生成的fat文件中添加*.java文件。我错了吗?当然,当我将FATJAT分发到nexus中时,如果其他开发人员可以看到javadoc注释,这将是一件好事。一个jar包含类,然后一个jar包含源代码和javadoc。然后,如果用户想要下载源代码和javadoc,则由他们自己决定。看看这里:如果您的用户想要查看源代码,IntelliJ或Eclipse将自动下载源代码和javadoc once,或者您可以使用
mvn dependency:sources