找不到maven插件项目的本机库

时间:2014-03-16 00:22:03

标签: java eclipse maven m2eclipse m2e

我想将一个跳跃动作应用程序集成到Weasis Dicom Viewer中。

项目:

Weasis-maven-plugin - >我的飞跃实施在哪里

Weasis-framework - > dicom viewer

Weasis-launcher - >这是我启动Dicom查看器的地方。

我已经做过的事情:

  • 使用eclipse进行m2e并将LeapJava.jar添加到插件项目并设置本机库的位置
  • 将LeapJava.jar安装到.m2 / repository文件夹中,以便我的maven插件构建上的mvn install成功
  • 添加到maven-plugin的pom.xml中
  • 更新了maven项目

什么不起作用:

  • 当我启动应用程序时,我在java.library.path
  • 中没有得到LeapJava

我已经看到其他一些线程说我需要手动将-Djava.library.path添加到VM参数中。但是,当我将其添加到eclipse中的启动器运行配置时,未找到的库仍然存在。我应该在某处添加吗?非常感谢任何帮助。

这是我的weasis-plugin的pom.xml:

<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/maven-v4_0_0.xsd">
<parent>
    <artifactId>weasis-parent</artifactId>
    <groupId>org.weasis</groupId>
    <version>2.0.0-SNAPSHOT</version>
    <relativePath>../../weasis-parent/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>LeapPlugin</groupId>
<artifactId>UBC</artifactId>
<packaging>bundle</packaging>
<name>Tool panel sample [${project.artifactId}]</name>
<properties>
    <bundle.symbolicName>${project.artifactId}</bundle.symbolicName>
</properties>
<version>0.0.1-SNAPSHOT</version>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-scr-plugin</artifactId>

        </plugin>
        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <configuration>
                <instructions>
                    <Service-Component>OSGI-INF/*.xml</Service-Component>
                </instructions>
            </configuration>
        </plugin>
    </plugins>
</build>
    <dependencies>
    <dependency>
        <groupId>org.weasis.core</groupId>
        <artifactId>weasis-core-api</artifactId>
        <version>${project.parent.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.weasis.core</groupId>
        <artifactId>weasis-core-ui</artifactId>
        <version>${project.parent.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.weasis.dicom</groupId>
        <artifactId>weasis-dicom-viewer2d</artifactId>
        <version>${project.parent.version}</version>
        <scope>provided</scope>
    </dependency>        
    <dependency>
        <groupId>com.leapmotion.leap</groupId>
        <artifactId>leapMotion</artifactId>
        <version>1.0.0</version>
        <scope>system</scope>
        <systemPath>${basedir}/sdk/LeapJava.jar</systemPath>
            </dependency>
</dependencies>

当我添加&#34; systemPath&#34;我仍然可以正确安装mvn但是当我运行启动器项目时,我得到了org.osgi.framework.BundleException:&#34;捆绑中未解决的约束&#34;

更新1:

所以现在这就是我的pom.xml看起来像

<groupId>com.leapmotion.leap</groupId>
<artifactId>leapMotion</artifactId>
<version>1.0.0</version>

Exception in thread "Thread-5" java.lang.UnsatisfiedLinkError: no leapMotion-1.0.0 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1764)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1044)
at weasisTool.SampleTool$1.run(SampleTool.java:98)

1 个答案:

答案 0 :(得分:0)

不确定这是否是实际解决方案。

但我补充道:

    我的pom.xml中的
  1. nativedependency-plugin
  2. 确保在插件项目文件夹上执行mvn包(这会在目标/文件夹下生成一些文件
  3. 将-Djava.library.path添加到VM参数中,然后编译并运行!