我有两个maven模块,一个最终作为jar,一个战争依赖于那个jar。
我希望jar模块将它的源代码与jar中的已编译类一起打包,以便第二个模块能够访问它。我已经尝试过使用maven-source-plugin,但我对如何在输出中添加依赖项感到困惑。似乎默认情况下依赖于编译的jar,而不是maven-source-plugin创建的源代码jar(以“-source.jar”结尾)。
如何将“-source.jar”添加为依赖项,同时仍然保留对已编译源的依赖?
答案 0 :(得分:20)
我没试过,但我认为您需要在项目中创建两个配置文件。一个建立主罐子的人。另一个构建源jar。不幸的是,我不确定如何构建该配置文件。到目前为止,我找不到一个很好的例子。
(根据评论,您实际上并不需要个人资料。您可以使用sources-plugin来部署资源并通过资源分类器使其可用)
理论上,您可以使用第二个配置文件将源附加到项目中。这将在您的存储库中为使用该分类器的源创建第二个条目。将源安装/部署到存储库后,您应该能够通过在依赖项上使用分类器标记将源作为依赖项包含在内,以直接指定源。
所以你在webapp POM中有这样的东西:
<dependencies>
<dependency>
<groupId>myGroup</groupId>
<artifactId>myJar</artifactId>
<version>4.0</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>myGroup</groupId>
<artifactId>myJar</artifactId>
<version>4.0</version>
<type>jar</type>
<classifier>sources</classifier>
</dependency>
</dependencies>
答案 1 :(得分:1)
您是否尝试将src目录添加为构建部分中的资源目录?这应该将源复制到构建中的jar中。