我已经在互联网上搜索了很长一段时间,但无法弄清楚如何配置Maven-war插件或类似的东西,以便系统依赖项包含在内置战争中(WEB-INF / lib文件夹)
在jar-build的情况下,我使用maven依赖插件:
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
但是我不明白在打仗的情况下该怎么办。我试过使用maven-war插件,但是在构建中不包括系统依赖项。
[更新]
我有以下类型的行为:
<dependency>
<groupId>LoginRadius</groupId>
<artifactId>LoginRadius</artifactId>
<scope>system</scope>
<version>1.0</version>
<systemPath>${basedir}\lib\LoginRadius-1.0.jar</systemPath>
</dependency>
在我的POM中,当战争爆发时,这些依赖项未包含在WEB-INF / lib中。
让我尝试总结一下我尝试过的选项:
<packagingIncludes>${java.home}/lib/jfxrt.jar</packagingIncludes>
这行不通!此外,仅具有jar名称会排除其他所有内容,因此,如果您愿意尝试,请尝试
<packagingIncludes>${java.home}/lib/jfxrt.jar,**/*</packagingIncludes>
Jatin的回答似乎有点复杂,我尝试一次又一次地通过POM找出在WEB-INF POM中提到的系统jar的确切位置。
无论如何,我最终使用了此解决方案,该解决方案最初并没有运行,但经过一段时间并进行了一些更正:
我使用以下命令将jar安装在本地存储库中:
mvn install:install-file -Dfile="C:\Users\hp\Documents\NetBeansProjects\TwitterAndLoginRadiusMaven\lib\LoginRadius-1.0.jar" -DgroupId=LoginRadius -DartifactId=LoginRadius -Dversion=1.0 -Dpackaging=jar`
运行上述命令后,我将POM中的依赖项更改为
<dependency>
<groupId>LoginRadius</groupId>
<artifactId>LoginRadius</artifactId>
<!--<scope>system</scope>-->
<version>1.0</version>
<!--<systemPath>${basedir}\lib\LoginRadius-1.0.jar</systemPath>-->
</dependency>
注意-请参阅我已评论系统范围和systemPath。
现在进行战争,在WEB-INF / lib中包含此LoginRadius-1.0.jar
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句