Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java mvn不生产所有人工制品_Java_Maven_Jar - Fatal编程技术网

Java mvn不生产所有人工制品

Java mvn不生产所有人工制品,java,maven,jar,Java,Maven,Jar,我对mvn配置非常着迷mvn clean deploy只生成主jar文件。不是javadoc、dources和sign等文件。如果我显式调用mvn clean jar:jar javadoc:jar source:jar gpg:sign deploy,它会生成javadoc和sources等,但主jar是空的 发生了什么事 <build> <plugins> <plugin>

我对mvn配置非常着迷
mvn clean deploy
只生成主jar文件。不是javadoc、dources和sign等文件。如果我显式调用
mvn clean jar:jar javadoc:jar source:jar gpg:sign deploy
,它会生成javadoc和sources等,但主jar是空的

发生了什么事

<build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.2.1</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <phase>deploy</phase>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.9.1</version>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <phase>deploy</phase>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.5</version>
                    <executions>
                        <execution>
                            <id>sign-artifacts</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>sign</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.3.2</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.7</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.20</version>
                    <configuration>
                        <suiteXmlFiles>
                            <suiteXmlFile>suite.xml</suiteXmlFile>
                        </suiteXmlFiles>
                        <properties>
                            <property>
                                <name>suitethreadpoolsize</name>
                                <value>1</value>
                            </property>
                        </properties>
                    </configuration>
                </plugin>           
            </plugins>
    </build>

org.apache.maven.plugins
maven源插件
2.2.1
附加来源
部署
罐子没有叉子
org.apache.maven.plugins
maven javadoc插件
2.9.1
附加javadocs
部署
罐子
org.apache.maven.plugins
maven gpg插件
1.5
符号伪影
验证
签名
org.apache.maven.plugins
maven编译器插件
2.3.2
1.8
1.8
org.apache.maven.plugins
maven资源插件
2.7
org.apache.maven.plugins
maven surefire插件
2.20
suite.xml
suitethreadpoolsize
1.

将插件移出
部分。本节用于管理插件,或者更确切地说,处理插件的版本

激活发生在本节之外:

<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.2.1</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.9.1</version>
      </plugin>
    </plugins>
  </pluginManagement>
  <plugins>
      <!-- Activation occurs here. If you have declared the version of the 
           plugin in the section above, then you can omit the version in
           this section.
      -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-javadocs</id>
            <goals>
               <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
  </plugins>    
</build>

org.apache.maven.plugins
maven源插件
2.2.1
org.apache.maven.plugins
maven javadoc插件
2.9.1
org.apache.maven.plugins
maven源插件
附加来源
罐子
org.apache.maven.plugins
maven javadoc插件
附加javadocs
罐子

mvn包
现在应该生成您想要的工件,如果您部署,它们将自动拾取。

您不需要为maven jar插件添加阶段。只定义插件的版本。所有排除项等都不是必需的,因为这是默认值…@khmarbaise谢谢您的输入。我更新了pom。我仍然没有看到javadoc和sources文件将javadoc的阶段,源插件改为
package
,而不是部署并尝试
mvn clean package
@khmarbaise,谢谢。我对你的一个答案投了赞成票:)谢谢@Daniel。根据你的建议,我用新的pom更新了问题。我删除了
插件管理
。还是不走运。没有生成javadoc和源代码!我已经更新了代码片段,使其更符合最佳实践,这意味着应该在
阶段生成工件。为此,我删除了执行的绑定阶段,该阶段默认为
package
。感谢Daniel的输入