我的项目包括 nd4j-native-platform 依赖项,其中包括适用于 Windows、Linux 和 Mac 的 .jar。该应用程序是在 Windows/Mac 计算机上开发的,然后部署到 Linux,因此我想通过排除这些在构建 .war 时占用 > 400 MB 的其他平台 jar 来节省部署空间。Tl;dr,我想排除所有不以 linux-x86_64 结尾的 .jar。
pom中的依赖:
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-native-platform</artifactId>
<version>1.0.0-beta7</version>
<classifier>linux-x86_64</classifier>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我没有看到任何方法可以通过依赖标记中的分类器排除它们,看来您只能通过 groupId 和artifactId 排除它们。我还尝试在 .war 插件中使用打包排除和战争来源排除,但这没有做任何事情:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.3</version>
<configuration>
<packagingExcludes>
WEB-INF/lib/nd4j-native-1.0.0-beta7-windows-x86_64.jar,
WEB-INF/lib/nd4j-native-1.0.0-beta7-android-x86.jar,
WEB-INF/lib/nd4j-native-1.0.0-beta7-macosx-x86_64.jar,
WEB-INF/lib/nd4j-native-1.0.0-beta7-android-x86_64.jar,
WEB-INF/lib/nd4j-native-1.0.0-beta7-linux-ppc64le.jar,
WEB-INF/lib/nd4j-native-1.0.0-beta7-android-arm64.jar,
WEB-INF/lib/nd4j-native-1.0.0-beta7-android-arm.jar,
WEB-INF/lib/openblas-0.3.9-1-1.5.3-windows-x86_64.jar,
WEB-INF/lib/nd4j-native-1.0.0-beta7-linux-armhf.jar,
WEB-INF/lib/openblas-0.3.9-1-1.5.3-windows-x86.jar,
WEB-INF/lib/openblas-0.3.9-1-1.5.3-windows-x86.jar,
WEB-INF/lib/openblas-0.3.9-1-1.5.3-linux-armhf.jar,
WEB-INF/lib/openblas-0.3.9-1-1.5.3-linux-ppc64le.jar,
WEB-INF/lib/openblas-0.3.9-1-1.5.3-linux-arm64.jar
</packagingExcludes>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
使用 Maven 3.6.3。
我之前曾在这里看到过类似的问题,但我的问题的不同之处在于我无法通过唯一的 ID 进行分区。
这是我的表 Request_Data 的样子:
ID Request_ID Location Order_Code Review_Status
=================================================
1 1 HQ SXXXXF Not Reviewed
2 1 Scranton ASDFGH Reviewed
3 1 Scranton ABCDEF Reviewed
4 1 Binghamton PSDFJG Not Reviewed
5 2 Scranton GGGGGG Reviewed
6 2 Stamford PRWERE Not Reviewed
7 2 Scranton UYUIFG Reviewed
Run Code Online (Sandbox Code Playgroud)
我希望我的查询返回:
Request_ID Location Review_Status
==================================================
1 HQ Not Reviewed
1 Scranton Reviewed
1 Binghamton Not Reviewed
2 Scranton Reviewed
2 Stamford Not Reviewed
Run Code Online (Sandbox Code Playgroud)
换句话说,我的表引用了一个外键请求id,其中包含多个要审核的订单代码,每个订单代码都有一个区域。一个区域的订单代码都是一次性审核的,因此我只需要每个区域的每个请求 ID 返回一条记录即可获取该区域的审核状态。
我知道这是一个奇怪的设计;我没有设置这个,但我必须使用它。谢谢。