Java 让XBee API在Netbeans下编译和运行

Java 让XBee API在Netbeans下编译和运行,java,api,maven,netbeans,xbee,Java,Api,Maven,Netbeans,Xbee,问题是如何在Netbeans中安装XBee API以用于其他项目 答案应该是从github下载maven项目并导入Netbeans。小菜一碟现实并非如此简单。作为一个Java noobie,我花了一天时间让Xbee API在Netbeans下编译和运行 Github的XBee API版本0.9.1位于一个Maven项目中,该项目直接导入到Netbeans中,但如果没有进一步的工作,它将无法编译。对于初始测试,我使用Digi SDK工具包通过USB/串行电缆连接到我的win10 PC。我运行的是X

问题是如何在Netbeans中安装XBee API以用于其他项目

答案应该是从github下载maven项目并导入Netbeans。小菜一碟现实并非如此简单。作为一个Java noobie,我花了一天时间让Xbee API在Netbeans下编译和运行

Github的XBee API版本0.9.1位于一个Maven项目中,该项目直接导入到Netbeans中,但如果没有进一步的工作,它将无法编译。对于初始测试,我使用Digi SDK工具包通过USB/串行电缆连接到我的win10 PC。我运行的是XBee S2C Digimesh设备。最终,我使用XBee_API的原因是通过I2C与Raspberry Pi 3B通信

尝试运行的第一个XBee API类是在测试文件夹中找到的“OpenCloseConnectionsTest”。这提供了非常详细的调试信息,有助于进行故障排除。如果这将运行,那么其他一切也应该运行

第一个错误是因为XBee API POM文件没有包含版本标记。我的POM现在看起来像:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>                                      
</configuration>
</plugin>
我从网上下载的。一旦我将这些文件放在这些位置上,Netbeans就在没有进一步操作/config的情况下找到了它们。我仍然有一个警告,因为这些文件的版本不完全相同

最后,我需要编辑源代码来设置通信端口ID。在我的例子中,XBee在“COM5”上


我找不到任何一个拥有上述所有信息的来源。我发现很多信息都过时了,有些根本就错了。希望这篇文章能对其他人有所帮助。

好的,我正在努力回答我的问题。因此,为了获得最新版本的XBee API 0.9.2,我需要将一个项目从Maven中央存储库安装到Netbeans中。我发现了几条指向我的帖子。 我觉得这根本没用。答案可能在某个地方,但它假设我对Maven和Ant的理解程度是我所没有的,所以我进行了实验。我在Netbeans中创建了一个新的Maven项目,然后复制了在Maven Central中找到的XBee API POM文件的内容,并将其粘贴,以替换我创建的新Maven项目中默认POM文件的内容

我的理解是Maven将根据POM文件下载所有需要的文件,但它没有。大部分文件都已下载,但不是全部。我收到了以下警告:

    Some problems were encountered while building the effective model for com.rapplogic:xbee-api:jar:0.9.2
'build.plugins.plugin.version' for org.apache.maven.plugins:maven-gpg-plugin is missing. @ line 60, column 21
'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 51, column 21
'build.plugins.plugin.version' for org.apache.maven.plugins:maven-source-plugin is missing. @ line 86, column 21
'build.plugins.plugin.version' for org.apache.maven.plugins:maven-javadoc-plugin is missing. @ line 99, column 21
而且:

Failed to execute goal pl.project13.maven:git-commit-id-plugin:2.2.1:revision (get-the-git-infos) on project xbee-api: The plugin pl.project13.maven:git-commit-id-plugin:2.2.1 requires Maven version [3.1.1,) -> [Help 1]
这对任何了解Maven的人来说都有意义,但那不是我。看起来我需要升级Maven,因为我已经使用Java这么久了,Maven才几个月

我发现我已经在运行最新的Maven版本3.5.0。错误消息说我需要3.1.1,所以升级Maven是不可能的,降级回3.1.1似乎是个坏主意。是时候改变策略,看看如何使用更高版本的插件了

我发现其他人有这个问题,但没有解决办法。我发现这个响应表明问题在于POM中没有为每个插件指定版本。因此,Apache似乎已经更改了规则(要求在POM中指定版本),但没有提供更新POM的工具。这似乎是可以在Maven Central中扫描和纠正的东西。我正在运行的POM只有5个月的历史,但是如果没有人工干预,它将无法构建

为了解决版本问题,我必须在Maven Central中搜索每个插件,以获得最新/正确的版本号并修改POM。真糟糕!!该过程清除了除一个致命错误以外的所有错误。我现在陷入了问题中描述的僵局


我要追求的解决方案是使用Github的旧版本XBee API。这给了我源代码,它构建时没有问题。我计划修改此代码以使用I2C而不是RS232。socket服务器也有beta代码

这看起来很有帮助。不幸的是,我们需要答案来回答这个主题问题。你能不能调整一下这个问题,让原来的问题呈现出来,这样就可以用下面的答案中的一些材料来回答?好的,这是一个寻找问题的答案,但我已经调整了。写了这篇文章之后,我发现github版本0.9.1不是最新的。最新版本0.9.2在Maven Central Repository上。这个差异对我来说很重要,因为0.9.2包含了一个套接字函数,它允许通过单个通道进行多路通信。在版本0.9.2之前,该代码与XBee API是分开的。所以现在我必须弄清楚如何从Maven Central导入并创建一个新项目。不幸的是,它仍然不是我们所要求的Q&a格式。答案如下所示,与问题完全不同。我投票将此问题作为离题题结束,因为尽管它很有用,但它是一个没有单独问题的答案。
这是一个信息交流论坛,正好推广问答格式
→ 不是。这是一个问答网站。为什么会这样还没有在网站上讨论,一旦你有了足够的声誉,你可能会想要点击。这不是一个教程或博客网站。为了让未来的读者能够有效地了解您的问题,我们需要您提出一个特定的问题(例如“如何为Netbeans编译XBee API”),并提供jpmc26所指出的数据。然后,甚至其他用户也可以回答你的问题,可能比你回答的更好。自从写了上述内容后,开发人员已将最新版本上传到Github。我已经下载了这个,并且能够编译它。我可以看到Maven的好处,但我还无法在Netbeans下使用它进行编译。
Failed to execute goal pl.project13.maven:git-commit-id-plugin:2.2.1:revision (get-the-git-infos) on project xbee-api: The plugin pl.project13.maven:git-commit-id-plugin:2.2.1 requires Maven version [3.1.1,) -> [Help 1]