问题标签 [native-maven-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - maven-nar-plugin vs native-maven-plugin,哪个更好?
我将创建一个使用 JNI 的 java 项目。我想将项目部署为独立应用程序,但某些模块也可能用作其他应用程序的库。我想支持不同的平台,一切都应该尽可能轻松。
据我所见,我可以在 maven-nar-plugin 和 native-maven-plugin 之间进行选择,它已经有一年半没有更新了,而 native-maven-plugin 对我来说似乎不太友好。
您对其中之一有任何经验或我应该使用的建议吗?
gcc - 强制相对调试符号路径(maven-native-plugin)
我正在使用native-maven-plugin在 linux 上编译共享库。我通过编译器选项-g
来启用调试符号生成。以下是 POM 的摘录:
native-maven-plugin在调用gcc时总是使用源文件的绝对路径。这也会导致调试符号中的绝对路径。nm -l libfoo.so
列出调试符号的输出如下所示:
如您所见,源文件路径是绝对路径,包括我的用户名和项目结构。我不想要那个。如何将调试符号更改为相对路径名?
maven - 没有从 native-maven-plugin 设置 basedir
我在让 maven 本机插件工作时遇到了一些麻烦。问题是我在编译时收到 IllegalStateException: "No basedir set"。堆栈跟踪如下:
native-ipc pom.xml 是:
父 pom 很简单:
我觉得我错过了一些明显的东西。任何帮助,将不胜感激。
-RB
maven - msvc 编译器的 native-maven-plugin 错误“命令行太长。”
我正在尝试使用 native-mvn-plugin 通过 maven 构建一个 cpp lib。但是,在链接部分,我遇到了一个错误,说“命令行太长”
至于配置,我有这个:
对于linkerStartOptions,我有这个:
如果有人可以帮助我,我会很高兴。
maven - 本机 maven 插件 jni osx pom
我正在尝试将用 c/cpp 编写的 JNI 库添加到 java 项目中。这个java项目叫做Subsonic,它是一个媒体服务器。我想添加对 .spc 文件的支持,所以我编写了一些 JNI 来实现这一点。我只是不太了解maven。
这是目录结构:
我的问题是我不知道如何让 Maven 与我一起工作。这是我当前的 pom 文件:
有没有大心脏的人请指点一下。我想我讨厌 Maven :(
java - Java JNI Maven native-maven-plugin - 如何设置共享库最终名称
我正在使用 JNI 和 Maven 来了解如何自动化构建过程。当涉及到输出文件名时,我在 Linux 平台上遇到了一些困难。当我运行 maven 构建(下面是 linux 平台的 pom.xml)时,返回的共享库文件名为jniExampleNative.so
. 如果我尝试用它运行 java 程序,我会得到java.lang.UnsatisfiedLinkError: no jniExampleNative in java.library.path
. 如果我将文件重命名为libjniExampleNative.so
它可以工作。
我想设置 Maven,以便它自动创建具有工作文件名的文件,但不知道如何。我尝试了设置linkerFinalName
选项(在下面的 pom.xml 中有注释),但我得到了The packaging for this project did not assign a file to the build artifact
.
我在哪里做错了事情,如何设置输出共享库的名称?
maven - native-maven-plugin 在“a”包装类型上失败
我无法完成使用 Maven 的 native-maven-plugin 的第一步。我看过一些关于它的并发症的帖子,但我的 pom.xml 在任何之前都失败了:
注意“未知包装:a”;简而言之,它不喜欢“<packaging>a</packaging>”,但我在其他示例和 Maven 网站上看到了这一点。我试过“so”而不是“a”,但没有区别,“未知包装”仍然失败。
这是我的 pom.xml:
gcc - 如何避免需要设置 LD_LIBRARY_PATH ld:collect2 失败
是否有与 LD_LIBRARY_PATH 等效的命令行选项用于链接?
我通过 native-maven-plugin 构建原生插件,它不支持设置环境变量和在 maven 破坏我的其他模块之前进行设置。我需要要么
- 找到 native-maven-plugin 的替代方案(长期解决方案)
- 查找命令行选项以将所需路径添加到链接器搜索
我试过了:
- --库路径
- -L
- --rpath-链接,--rpath
- -R
每次我继续得到以下信息:
maven - 如何在使用 native-maven 插件创建 JNI .so 后运行 JUnit 测试
我有一个创建 jni .so 文件和 java .jar 文件的项目。除了 JUnit 测试执行之外,所有这些都按预期工作。我需要在 native-maven-plugin 创建 .so 文件后运行 JUnit 测试。当添加新的 JNI 方法时,JUnit 测试总是会失败,因为它们是在创建共享库之前运行的。建造两次是唯一的选择吗?意思是构建一次跳过测试然后单独执行测试或再次运行构建以执行测试?
c - 用 Maven 构建 c 程序?
我有一个 maven 项目,我正在构建一个 docker 映像(使用 fabric8 docker-maven-plugin)。
作为构建的一部分,我想编译一个简单的 C 类:
到一个二进制文件中,该二进制文件将在 Maven 构建期间复制到 Docker 映像中。
最好的方法是什么?我知道至少有几个 maven 插件,但不确定我应该使用哪个,以及我需要哪些选项?maven 构建可以在 Windows、Linux 或 Mac 上运行,但生成的二进制文件只能在 Linux (Opensuse) 上执行。
https://www.mojohaus.org/maven-native/native-maven-plugin/
https://github.com/maven-nar/nar-maven-plugin
例如,上面 2 个插件似乎需要pom.xml 顶层的<packaging>so</packaging>
or元素,但我的 pom.xml 已经有一个?上述插件是否应该在他们自己的 pom.xml 中进入一个 maven 子模块项目?<packaging>nar</packaging>
<packaging>pom</packaging>