Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven和本机库_Java_Maven 2_Netbeans_Java Native Interface_Native - Fatal编程技术网

Java Maven和本机库

Java Maven和本机库,java,maven-2,netbeans,java-native-interface,native,Java,Maven 2,Netbeans,Java Native Interface,Native,我在java项目中使用maven,但我不知道如何添加本机库。在我的非maven项目中,我是通过类路径完成的。我在当前的java项目中使用NetBeans和maven。如果您只想将本机库添加到类路径中,请尝试将它们放在src/main/resources中 更新:您可以指定POM中的位置: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta

我在java项目中使用maven,但我不知道如何添加本机库。在我的非maven项目中,我是通过类路径完成的。我在当前的java项目中使用NetBeans和maven。

如果您只想将本机库添加到类路径中,请尝试将它们放在
src/main/resources

更新:您可以指定POM中的位置:

<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                      http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <build>
    ...
    <resources>
      <resource>
        <filtering>false</filtering>
        <directory>${basedir}/src/main/native</directory>
        <includes>
          <include>native.so</include>
        </includes>
      </resource>
    </resources>
    <testResources>
      ...
    </testResources>
    ...
  </build>
</project>

...
假的
${basedir}/src/main/native
土生土长的
...
...

但是老实说,如果你决定使用Maven,你应该采用Maven(或者你必须为你的自定义布局配置每个插件,这更多的是问题而不是好处)

您可以这样定义本机库

   <dependency>
      <groupId>com.***.</groupId>
      <artifactId>abc.jar</artifactId>
      <version>1.0</version>
      <scope>system</scope>
   <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/abc.jar</systemPath>
   </dependency>

com.**。
abc.jar
1
系统
${basedir}/src/main/webapp/WEB-INF/lib/abc.jar

你检查过了吗?我不想做jar并将其解包,是否可以只使用类路径之类的东西?对不起,我是maven的新手,但我的项目有不同的结构。我该怎么办?@EK要么将本机库放在您定义为
的目录中,要么在您的问题中添加详细信息(如POM和项目结构),以便我提供更多指导。我的项目结构非常简单。只有一个文件夹/src/(和test、bin、config、target、lib)。我应该在pom中改变的是,maven使用带有libs的资源文件夹。这是我pom中最有趣的部分,我想src测试谢谢!在我的类路径中,我有一个路径为的环境变量libraries@EK您将在中找到一些答案,以及其中提到的各种链接(,)。正如我所说的,JNI不是一个容易的话题,而且分析一个600字符大小的盒子中的代码片段是不可能的。此外,您的问题很难重现,因此我很抱歉,但我无能为力。问题是关于本机库(例如.so、.dll等),而不是系统提供的jar。