我有一个多模块项目,我正在使用程序集插件来构建tar文件。我使用moduleSets标签在程序集插件中包含了所有模块。
<moduleSets>
<moduleSet>
<includes>
<include>module1</include>
<include>module2</include>
我的所有模块jar都被组装到一个lib文件夹中。我想从我的本地maven存储库添加mysql jar到包含我所有其他模块的同一个lib文件夹。在模块集中添加本地存储库jar似乎不起作用。
[WARNING] The following patterns were never triggered in this artifact inclusion filter:
o 'mysql.mysql-connector-java:mysql-connector-java-version'
如何从maven存储库中包含jar。
答案 0 :(得分:3)
我认为您需要在dependencySet
的includes
子元素中声明您的mysql jar。
这样的事情:
<assembly>
<id>my-assembly</id>
...
<dependencySets>
<dependencySet>
<outputDirectory>/lib</outputDirectory>
<includes>
<include>mysql:mysql-connector-java</include>
</includes>
<unpack>false</unpack>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
...
</assembly>
有关此元素的更多详细信息,请参阅Maven Book的Descriptor Format文档和/或章节12.5.4. dependencySets
Section。
答案 1 :(得分:1)
我认为你不需要做任何特别的事情,只要确保mysql在项目中被列为依赖项,它应该可以工作。同样适用于模块的依赖 - 只需将它们列为依赖项。下面是程序集插件的典型配置。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
答案 2 :(得分:0)
我遇到了同样的问题,并通过将pom依赖项的范围更改为编译来解决它。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>compile</scope>
</dependency>