Java Maven:没有要安装的主工件,而是安装附加工件

Java Maven:没有要安装的主工件,而是安装附加工件,java,maven,jar,Java,Maven,Jar,我有一个家长Maven POM,看起来像这样(可以看到oss家长): 如果我不尝试安装源代码,则不会显示。添加maven jar插件没有帮助。在子POM中添加“jar”也是如此。我猜它是在尝试在parentPom中这样做。我不会在你的parentPom中定义常见的插件。在您的parentPom中,我将在POM的pluginManagement部分(而不是plugins部分)定义插件(及其版本)。然后,在每个子级中,说明使用了哪些插件(声明中没有版本)。这将提供更多的控制。您可以尝试将源插件的目标

我有一个家长Maven POM,看起来像这样(可以看到oss家长):


如果我不尝试安装源代码,则不会显示。添加maven jar插件没有帮助。在子POM中添加“jar”也是如此。

我猜它是在尝试在parentPom中这样做。我不会在你的parentPom中定义常见的插件。在您的parentPom中,我将在POM的pluginManagement部分(而不是plugins部分)定义插件(及其版本)。然后,在每个子级中,说明使用了哪些插件(声明中没有版本)。这将提供更多的控制。

您可以尝试将源插件的目标从
jar
更改为
jar no fork
。使用
source:jar
goal作为生命周期的一部分,Maven将重新运行所有绑定到生成源代码及其前身的目标。我的假设是,在循环过程中的某个地方执行了一个clean,删除了主jar文件。相反,
jarno fork
不会再次运行绑定的目标

因此,插件配置应该如下所示

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-source-plugin</artifactId>
   <executions>
      <execution>
         <phase>package</phase>
         <goals>
            <goal>jar-no-fork</goal>
         </goals>
      </execution>
   </executions>
</plugin>

org.apache.maven.plugins
maven源插件
包裹
罐子没有叉子

安装时使用的命令是什么?是:mvn install?mvn clean install在父目录中。(我总是做“clean”;我是默认的)当您从父目录使用:mvn clean package时,它会创建一个jar吗?是的,“mvn clean package”说:“Building jar:D:\GithubPublic\xtend contrib\base\target\xtend-contrib-base-0.0.3.jar”(当然,“mvn clean install”也会创建一个jar),但它不会出现在本地repo中,那么,我看到你使用的是maven安装插件的2.4版本,你能尝试使用2.5.1来排除这个吗?不。不起作用(无论是否引用maven jar插件)。该配置没有帮助,但它是自动清理的,因此删除它修复了问题。谢谢
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.blockwithme</groupId>
        <artifactId>xtend-contrib-parent</artifactId>
        <version>0.0.3</version>
    </parent>
    <artifactId>xtend-contrib-base</artifactId>
</project>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
</plugin>
[INFO] No primary artifact to install, installing attached artifacts instead.
<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-source-plugin</artifactId>
   <executions>
      <execution>
         <phase>package</phase>
         <goals>
            <goal>jar-no-fork</goal>
         </goals>
      </execution>
   </executions>
</plugin>