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