我试图运行一些Netty示例项目。导入Maven项目后,Eclipse报告以下问题:
ArtifactTransferException: Could not transfer artifact io.netty:netty-tcnative:jar:${os.detected.classifier}:1.1.33.Fork2 from/to central (http://repo1.maven.org/maven2): Illegal character in path at index 96: http://repo1.maven.org/maven2/io/netty/netty-tcnative/1.1.33.Fork2/netty-tcnative-1.1.33.Fork2-${os.detected.classifier}.jar
我在研究相关问题后尝试过的事情:
我接下来应该尝试什么(或者我是否正在沿着正确的道路运行Netty示例)?
答案 0 :(得分:0)
我认为os-maven-plugin和你的eclipse安装存在问题。解决方案是手动将os-maven-plugin添加到eclipse插件文件夹中。在你的问题中你写道你已经完成了这个。但是,在你的情况下,我认为eclipse仍然无法运行os-maven-plugin。因此,我建议再次尝试将os-maven-plugin移动到eclipse插件文件夹。
在eclipse的问题报告中,您可以找到属性${os.detected.classifier}
。 Eclipse无法传输工件,因为未评估此属性。如果运行mvn包,则会评估该属性。因此,使用mvn包,传输和构建成功。
属性${os.detected.classifier}
属于os-maven-plugin,允许使用与平台相关的项目属性。 Eclipse不评估这些表达式。根据{{3}},您必须将插件下载为jar并将其放入<ECLIPSE_HOME>/plugins
目录中。在我的情况下使用我的eclipse插件目录中的jar,我能够在eclipse中成功执行pom文件。
答案 1 :(得分:0)
手动将插件添加到plugins文件夹后,将其添加到&lt;下的pom中。插件&gt; ......&lt; /插件&GT;为我解决了这个问题。
<plugin>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
</plugin>
您也可以右键单击Package Explorer中的pom.xml文件 - &gt; Maven - &gt;添加插件 - &gt;指定组ID和工件ID。
答案 2 :(得分:0)
你可以使用
mvn package -DskipTests
然后它会在开头打印消息
[INFO] ------------------------------------------------------------------------
[INFO] Detecting the operating system and CPU architecture
[INFO] ------------------------------------------------------------------------
[INFO] os.detected.name: linux
[INFO] os.detected.arch: x86_64
[INFO] os.detected.classifier: linux-x86_64
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
然后停止mvn命令,因为你已经获得了属性正确的值,停止了命令或者在太多的打印中找不到消息,然后在父项目的pom.xml文件中添加以下内容: p>
<properties>
<os.detected.name>linux</os.detected.name>
<os.detected.arch>x86_64</os.detected.arch>
<os.detected.classifier>linux-x86_64</os.detected.classifier>
...
答案 3 :(得分:0)
我遇到了同样的问题。通过添加:
解决了这个问题<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.4.0.Final</version>
</extension>
</extensions>
在标签内。问题请参见此处:https://github.com/trustin/os-maven-plugin