根據您鏈接的頁面上的jar名稱判斷,MacOs和Linux版本之間的區別在於jar名稱上的version
部分之後的文本。
這就是所謂的classifier
(請參閱Maven coordinates),它是一個可選的座標,在工件版本之後給出了一個額外的區別。
正如已經nandsito建議,並擴大它的答案,嘗試這種(未經測試,讓我知道,我會更新):
<profiles>
<profile>
<id>osx</id>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>tensorflow</artifactId>
<version>0.9.0-1.2</version>
<classifier>macosx-x86_64</classifier>
</dependency>
</profile>
<profile>
<id>linux</id>
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>tensorflow</artifactId>
<version>0.9.0-1.2</version>
<classifier>linux-x86_64</classifier>
</dependency>
</profile>
</profiles>
而且elsewere刪除所有相關<dependency>
節點在POM (所以如果沒有<profiles>
部分,將不存在對於tensorflow
的依賴)。
這一變化後,您就一定要每次都指定一個配置文件(如會出現在POM沒有tensorflow依賴):在MacOS mvn clean package -Pmacos
準備包裝時,並在CentOS mvn clean package -Plinux
準備包裝時Eclipse允許您設置Project properties
>Maven
下的主動配置文件的列表(你可以得到這個窗口通過在Project explorer
項目文件夾右鍵點擊。
你嘗試考慮Maven的配置文件? –
是的,我試圖用配置文件,但我只能找到有關如何激活基於特定配置文件的信息在當前的OS上。我無法找到如何創建配置文件來爲其他操作系統構建一個jar文件。 –
你可以捕捉錯誤嗎?或者你可以在這裏包含錯誤日誌嗎? –