根据您链接的页面上的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文件。 –
你可以捕捉错误吗?或者你可以在这里包含错误日志吗? –