JAR wilt libs niet toevoegen aan classpath

Status
Niet open voor verdere reacties.

MatthiWare

Gebruiker
Lid geworden
2 jul 2011
Berichten
282
Beste

Ik ben aan het proberen mijn code in een JAR te plaatsen.
Dit lukt voor een deel van mijn code maar het 2de deel heeft 2 extra jar's nodig en deze zorgen voor problemen.

Ik heb een batch bestand om het uit te voeren (dit werkt volledig):
Code:
cd .\bin\client_test
"C:\Program Files\Java\jre7\bin\java.exe" -classpath libs\lwjgl.jar;libs\jinput.jar; org.matthiware.java.client_test.ClientProgram matthiware.no-ip.org 43595
pause

Mijn JAR maker heeft dit:
Code:
set currdir=%cd%
cd .\bin\client_test\
jar cfm %currdir%\client.jar META-INF\MANIFEST.MF .
pause

Het eerste lijntje in mijn code is:
Code:
JOptionPane.showMessageDialog(null, System.getProperty("java.class.path"));

Mijn META-INF\MANIFEST.MF:
Code:
Manifest-Version: 1.0
Class-Path: libs/lwjgl.jar libs/jinput.jar
Main-Class: org.matthiware.java.client_test.ClientProgram
Created-By: MatthiWare (7/12/2013)
Application-Description: client_testing
Application-Name: client_test

Link naar client.jar

De structuur van Client.jar volgens WinRAR:
X4pkgnv.png


Als ik het uitvoer met de batch launcher dan krijg ik "libs\lwjgl.jar;libs\jinput.jar;".
Maar als ik het via de jar uitvoer krijg ik alleen "C:\...\Client.jar".

Iemand enig idee wat ik fout doe?
 
Laatst bewerkt:
kunt u die eens online plaatsen die jars
en of code bekijk ook kort eens appache ANT
 
dit was mijn resultaat
msg==>
wat is je naam==>
error...

app.run.test:
[java] [CLIENT]: Starting..
[java] Exception in thread "main" java.lang.NoClassDefFoundError: org/lwjgl/LWJGLException
[java] at org.matthiware.java.client_test.Client.start(Client.java:43)
[java] at org.matthiware.java.client_test.ClientProgram.main(ClientProgram.java:45)
[java] Caused by: java.lang.ClassNotFoundException: org.lwjgl.LWJGLException
[java] at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
[java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
[java] at java.security.AccessController.doPrivileged(Native Method)
[java] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
[java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
[java] ... 2 more

betekend dat ik mogelijks die lib mis org/lwjgl/LWJGLException
 
Maar deze zitten in de jar onder client.jar/libs/lwjgl.jar
Want als ik via batch bestand run zie eerste post werkt het wel.
 
Maar deze zitten in de jar onder client.jar/libs/lwjgl.jar
Want als ik via batch bestand run zie eerste post werkt het wel.


jars gevonden
test uitgevoerd met ant
Buildfile
maak een dir"test" met client.jar
maak een dir libs met de andere jars
en onder projectroot file met naam build.xml
met onderstaande content
Code:
<?xml version="1.0" ?>
<project name="test" default="app.run.test" xmlns:jw="org.unintelligible.antjnlpwar">
		<typedef resource="org/unintelligible/antjnlpwar/antjnlpwar.xml"
			format="xml" uri="org.unintelligible.antjnlpwar">
			<classpath>
				<pathelement location="ant toevoeging/ant-jnlp-war-0.9.jar" />
			</classpath>
		</typedef>
	    <!-- %%%%%%%%%%%%%%%>>>>>>>>>>>>>>>       VARIABLES S      <<<<<<<<<<<<<<<<< -->
		<!-- 	**:     alles voor de dir	-->
		<!-- 	/web/:  in path				-->
		<!-- 	/**/:   in subpaden			-->
		<!-- 	*.class:alle classes		-->
		<property name="smtp" value="relay.skynet.be" />
		<property environment="env" />
	<!-- compilatie -->
		<property name="builddir" value="build" />
		<property name="compilationdir" value="${builddir}/classes" />
	        <property name="Webstart.jarname" value="client.jar" />

	        <property name="this.package" value="org.matthiware.java.client_test" />
	        <property name="this.app.Main" value="ClientProgram" />
		<property name="sourcedir" value="src" />
		<property name="signlibdir" value="test" />
	<!-- docs dir -->
		<property name="docsdir" value="docs" />

	<path id="classpath">
		<pathelement path="${compilationdir}" />
		<fileset dir="lib" includes="**/*.*" />
	</path>
	<path id="this.classpath">
		<pathelement location="${builddir}/${Webstart.jarname}" />
		<path refid="classpath" />
		<fileset dir="${signlibdir}">
			<include name="**/*.jar" />
		</fileset>
	</path>
		<!-- %%%%%%%%%%%%%%%>>>>>>>>>>>>>>>        RUN S      <<<<<<<<<<<<<<<<< -->
	<target name="app.run.test"  description="Run Webstart">
		<java classname="${this.package}.${this.app.Main}"
			fork="true" 
			classpathref="this.classpath">

			
		</java>
	</target>
</project>

app.run.test:
[java] [CLIENT]: Starting..
[java] Exception in thread "engine message loop" java.lang.UnsatisfiedLinkError: Can't load library: D:\workspace\helpmij\natives\lwjgl.dll
[java] at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1846)
[java] at java.lang.Runtime.load0(Runtime.java:795)
[java] at java.lang.System.load(System.java:1061)
[java] at org.lwjgl.Sys$1.run(Sys.java:70)
[java] at java.security.AccessController.doPrivileged(Native Method)
[java] at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
[java] at org.lwjgl.Sys.loadLibrary(Sys.java:95)
[java] at org.lwjgl.Sys.<clinit>(Sys.java:112)
[java] at org.lwjgl.opengl.Display.<clinit>(Display.java:135)
[java] at org.matthiware.java.client_test.engine.Engine.setupDisplay(Engine.java:65)
[java] at org.matthiware.java.client_test.engine.Engine.updateInfo(Engine.java:88)
[java] at org.matthiware.java.client_test.engine.Engine.messageLoop(Engine.java:120)
[java] at org.matthiware.java.client_test.engine.Engine.access$000(Engine.java:25)
[java] at org.matthiware.java.client_test.engine.Engine$1.run(Engine.java:53)
[java] at java.lang.Thread.run(Thread.java:724)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan