How to manage librairy with native dll in maven?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

How to manage librairy with native dll in maven?

Eildosa
This post has NOT been accepted by the mailing list yet.
This post was updated on .
Hi,

I tried loading this librairy with eclipse indigo, maven 3.0.4 and m2eclispe 1.0.200.20111228-1245 by adding

[code]
<dependencies>
                <dependency>
                        <groupId>org.lwjgl.lwjgl</groupId>
                        <artifactId>lwjgl</artifactId>
                        <version>2.8.1</version>
                </dependency>
               
                <dependency>
    <groupId>org.lwjgl.lwjgl</groupId>
    <artifactId>lwjgl_util</artifactId>
    <version>2.8.1</version>
                </dependency>
</dependencies>
[/code]

to my POM.xml and it didn't work, no surprise, the native dll were not included.
So I added them myself but it's still buging maven is automatically reoving those path right after I inputed them D:

[img]http://img11.hostingpics.net/pics/458549mavennative.jpg[/img]

so obvioiusly eclipse is not happy
[code]

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1028)
        at org.lwjgl.Sys$1.run(Sys.java:73)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
        at org.lwjgl.Sys.loadLibrary(Sys.java:95)
        at org.lwjgl.Sys.<clinit>(Sys.java:112)
        at org.lwjgl.opengl.Display.<clinit>(Display.java:135)
        at runnable.Tut05.createWindow(Tut05.java:157)
        at runnable.Tut05.init(Tut05.java:177)
        at runnable.Tut05.run(Tut05.java:32)
        at runnable.Tut05.main(Tut05.java:24)
[/code]

Do you know if there is any way to use maven in a way to automatically manage those native dll?
Any Idea how to not allow maven to delete my link each time?

thanks =D
Reply | Threaded
Open this post in threaded view
|

Re: How to manage librairy with native dll in maven?

Eildosa
This post has NOT been accepted by the mailing list yet.
Solution :

[b]1/[/b]put your dependancies in your pom.xml

[code]
<dependencies>
                <dependency>
                        <groupId>org.lwjgl.lwjgl</groupId>
                        <artifactId>lwjgl</artifactId>
                        <version>2.8.1</version>
                </dependency>
               
                <dependency>
    <groupId>org.lwjgl.lwjgl</groupId>
    <artifactId>lwjgl_util</artifactId>
    <version>2.8.1</version>
                </dependency>
               
</dependencies>
[/code]

[b]2/[/b]now install this eclipse pugin http://code.google.com/p/mavennatives/
to do so, do into [b]help>install new software[/b] of eclipse.
clic [b]add[/b], in [b]name[/b] put wathever you want, in [b]location[/b] put : http://mavennatives.googlecode.com/svn/eclipse-update/

install everything of what is found ont it.

[b]3/[/b]add this plugin code to your pom.xml
[code]
        <build>
                <plugins>
                        <plugin>
                                <artifactId>maven-compiler-plugin</artifactId>
                                <version>2.3.2</version>
                                <configuration>
                                        <source>1.5</source>
                                        <target>1.5</target>
                                        <encoding>UTF-8</encoding>
                                </configuration>
                        </plugin>
                        <plugin>
                                <groupId>com.googlecode.mavennatives</groupId>
                                <artifactId>maven-nativedependencies-plugin</artifactId>
                                <version>0.0.6</version>
                                <executions>
                                        <execution>
                                                <id>unpacknatives</id>
                                                <phase>generate-resources</phase>
                                                <goals>
                                                        <goal>copy</goal>
                                                </goals>
                                        </execution>
                                </executions>
                        </plugin>
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-jar-plugin</artifactId>
                                <version>2.3.2</version>
                                <configuration>
                                        <archive>
                                                <manifest>
                                                        <mainClass>${main.class}</mainClass>
                                                        <addClasspath>true</addClasspath>
                                                        <classpathPrefix>lib/</classpathPrefix>
                                                </manifest>
                                        </archive>
                                </configuration>
                        </plugin>
                        <plugin>
                                <artifactId>maven-assembly-plugin</artifactId>
                                <version>2.2.1</version>
                                <executions>
                                        <execution>
                                                <id>bundle-project-sources</id>
                                                <phase>package</phase>
                                                <goals>
                                                        <goal>single</goal>
                                                </goals>
                                                <configuration>
                                                        <descriptors>
                                                                <descriptor>src/META-INF/assembly.xml</descriptor>
                                                        </descriptors>
                                                </configuration>
                                        </execution>
                                </executions>
                        </plugin>
                </plugins>
        </build>
[/code]

[b]4/[/b]right clic your project, [b]maven>update project configuration[/b]

and voila, it should work.
Reply | Threaded
Open this post in threaded view
|

Re: How to manage librairy with native dll in maven?

SkyFairy2
This post has NOT been accepted by the mailing list yet.
In reply to this post by Eildosa
นิโครติน ขนาด LOW ขวด 10CC เท่ากับบุหรี่ 2.5 ซอง  หากขวดนึงเราใช้ 2.5 วันครึ่งถือว่าได้นิโครติน  เท่ากับได้นิโครติน เท่ากับสูบบุหรี่จริงวันละซอง บุหรี่ไฟฟ้า ที่ทำให้เกิดโรคร้ายทั้งหมด ตั้งแต่มะเร็งปอด มะเร็งคอ มะเร็งในช่องปาก หลอดลม ถุงลมโป่งพอง โรคหัวใจ และอีกหลากหลาย eCab เป็นรุ่นที่ได้มีการริเริ่มต่อจากรุ่น eGo-C สามารถถอดเปลี่ยน Atomizer head ที่มีขนาดเล็กอยู่ด้านใน โดยใช้ตัวเดียวกับที่ใช้ใน eGo-C และยังสามารถถอดเปลี่ยนแบตเตอรี่ ได้สะดวกโดยใช้ถ่านขนาด 3.7v 360mAh eCab ได้รับการออกแบบให้มีน้ำหนักเบาและมีขนาดเล็ก ส่วนหลอดบรรจุ e-Liquid ยังคงใช้หลอดบรรจุแบบเดิมคล้ายกับ eGo-C บุหรี่ eGo-C ระบบใหม่ล่าสุด ที่ถูกออกแบบเพื่อการสูบอย่างมีอรรถรส สมจริง ควันเยอะ และความทนทาน เหมาะสำหรับคนที่สูบบุหรี่จัด ด้วยกำลังของแบตเตอรี่ขนาดใหญ่ 650mAh ที่มากกว่า บุหรี่ไฟฟ้า รุ่นอื่นๆ eGo-C ยังสามารถถอดเปลี่ยน Atomizer head ได้เรื่อยๆ เหมือนเปลี่ยนบุหรี่ไฟฟ้าตัวใหม่ไปเลย ทำให้ประหยัดเงินกว่ารุ่นก่อนหน้านี้ไปได้หลายเท่าเลยทีเดียว ประโยคสุดท้ายที่ผมพูดเวลาอธิบายเพื่อนไปแล้วมันก็ยังไม่ฟัง "ถ้าผมสูบบุหรี่อีก 20 ปี พนันกันใหมผมจะเป็นมะเร็ง  joyetech เรื่องที่ 2 ซึ่งสำคัญมาก คือเรื่องการนับจำนวนครั้งในการใช้งาน จะคิดเป็น % เช่น ใช้ไปแล้ว 50% เมื่อนำมาชาร์จจะยังไม่นับเป็น 1 และสมมุติว่าใช้ไปอีก 50% แล้วนำมาชาร์จ ตอนนี้ถึงจะนับเป็น 1 นั่นหมายความว่า สามารถชาร์จแบตได้ทุกเมื่อโดยไม่ต้องรอให้หมดเกลี้ยง และจะนับเป็น 1 ครั้งเมื่อครบทุก 100%