仅部署Maven WAR项目中的类JAR文件

4
我有一个使用Maven的项目,它创建了一个WAR文件和一个JAR文件(使用maven-war-plugin配置中的<attachClasses>true</attachClasses>标签并带有-classes分类器)。当我运行mvn deploy时,这些构件都会通过Sonatype Nexus上传到Maven Central。
这很好,但实际上没有必要将WAR文件部署到Maven Central - 只需部署-classes JAR文件就足够了,因为WAR文件总是上传到我们的Github网站供下载,而只有JAR文件将被用作其他项目的依赖项。
在Maven中有没有一种方法可以配置这个呢?我认为在maven-war-plugin配置中使用<primaryArtifact>false</primaryArtifact>标签可能会解决问题,但结果并没有如此。

你找到解决方案了吗? - referee
@裁判 - 不好意思,它仍然会将WAR上传到Maven Central。 - Guy G
1个回答

0
根据Maven WAR Plugin FAQs,这个问题需要进行一些重构才能解决。您需要将项目拆分为一个“classes”模块,该模块仅生成类JAR文件,以及第二个模块,该模块将整个Web应用程序构建为WAR文件。然后,WAR模块可以将JAR模块作为依赖项包含在内。
不同的Maven配置文件(一个用于构建和部署JAR,另一个用于构建WAR并跳过部署)也可能是一种解决方案。但说实话,这似乎相当繁琐且难以维护。我不确定长期来看它是否会让您的生活更轻松。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接