首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >native-maven-plugin jni osx pom

native-maven-plugin jni osx pom
EN

Stack Overflow用户
提问于 2014-07-27 06:33:25
回答 1查看 351关注 0票数 0

我正在尝试将一个用c/cpp编写的JNI库添加到一个java项目中。java项目叫做Subsonic,它是一个媒体服务器。我想添加对.spc文件的支持,所以我写了一些JNI来实现。我只是不太理解maven。

这是目录结构:

代码语言:javascript
复制
subsonic/
    gme/
        *.cpp
        snes.c -->contains C jni code

subsonic-main/
    ...
    src/main/java/net/sourceforge/subsonic/service/metadata/
        GMEMetaDataParser.java -->contains the JNI calls

我的问题是我不知道如何让maven和我一起工作。这是我当前的pom文件:

代码语言:javascript
复制
<project>
<modelVersion>4.0.0</modelVersion>
<artifactId>gme</artifactId>
<name>JNI Libraries for Subsonic</name>
<packaging>dylib</packaging>

<parent>
    <groupId>net.sourceforge.subsonic</groupId>
    <artifactId>subsonic</artifactId>
    <version>5.0.beta1</version>
</parent>

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>native-maven-plugin</artifactId>
            <extensions>true</extensions>
            <configuration>
                <!--  trigger javah -->
                <javahOS>macosx</javahOS>
                <compilerProvider>generic-classic</compilerProvider>
                <compilerExecutable>gcc</compilerExecutable>
                <linkerExecutable>gcc</linkerExecutable>
                <sources>
                    <source>
                        <directory>./</directory>
                        <fileNames>
                            <fileName>snes.c</fileName>
                            <fileName>Ay_Apu.cpp</fileName>
                            <fileName>Ay_Cpu.cpp</fileName>
                            <fileName>Ay_Emu.cpp</fileName>
                            <fileName>Blip_Buffer.cpp</fileName>
                            <fileName>Classic_Emu.cpp</fileName>
                            <fileName>Data_Reader.cpp</fileName>
                            <fileName>Dual_Resampler.cpp</fileName>
                            <fileName>Effects_Buffer.cpp</fileName>
                            <fileName>Fir_Resampler.cpp</fileName>
                            <fileName>Gb_Apu.cpp</fileName>
                            <fileName>Gb_Cpu.cpp</fileName>
                            <fileName>Gb_Oscs.cpp</fileName>
                            <fileName>Gbs_Emu.cpp</fileName>
                            <fileName>Gme_File.cpp</fileName>
                            <fileName>Gym_Emu.cpp</fileName>
                            <fileName>Hes_Apu.cpp</fileName>
                            <fileName>Hes_Cpu.cpp</fileName>
                            <fileName>Hes_Emu.cpp</fileName>
                            <fileName>Kss_Cpu.cpp</fileName>
                            <fileName>Kss_Emu.cpp</fileName>
                            <fileName>Kss_Scc_Apu.cpp</fileName>
                            <fileName>M3u_Playlist.cpp</fileName>
                            <fileName>Multi_Buffer.cpp</fileName>
                            <fileName>Music_Emu.cpp</fileName>
                            <fileName>Nes_Apu.cpp</fileName>
                            <fileName>Nes_Cpu.cpp</fileName>
                            <fileName>Nes_Fme7_Apu.cpp</fileName>
                            <fileName>Nes_Namco_Apu.cpp</fileName>
                            <fileName>Nes_Oscs.cpp</fileName>
                            <fileName>Nes_Vrc6_Apu.cpp</fileName>
                            <fileName>Nsf_Emu.cpp</fileName>
                            <fileName>Nsfe_Emu.cpp</fileName>
                            <fileName>Sap_Apu.cpp</fileName>
                            <fileName>Sap_Cpu.cpp</fileName>
                            <fileName>Sap_Emu.cpp</fileName>
                            <fileName>Sms_Apu.cpp</fileName>
                            <fileName>Snes_Spc.cpp</fileName>
                            <fileName>Spc_Cpu.cpp</fileName>
                            <fileName>Spc_Dsp.cpp</fileName>
                            <fileName>Spc_Emu.cpp</fileName>
                            <fileName>Spc_Filter.cpp</fileName>
                            <fileName>Vgm_Emu.cpp</fileName>
                            <fileName>Vgm_Emu_Impl.cpp</fileName>
                            <fileName>Ym2413_Emu.cpp</fileName>
                            <fileName>Ym2612_Emu.cpp</fileName>
                            <fileName>gme.cpp</fileName>
                        </fileNames>
                    </source>


                    <!-- additional include path -->
                    <source>
                        <directory>/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/include/darwin</directory>
                        <includes>
                            <include>*.h</include>
                        </includes>
                        <deployable>true</deployable>
                    </source>
                </sources>
            </configuration>
        </plugin>
    </plugins>
</build>
</project>

有没有心胸宽广的人能给我一些指点。我想我讨厌maven:

EN

回答 1

Stack Overflow用户

发布于 2014-07-29 05:14:41

有一个用于eclipse的Maven插件。您可以使用它来构建您的服务器文件并在localhost:8080上启动它。This教程应该会对你有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24976131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档