Hallo allerseits,
wir arbeiten derzeit an einem kleinen Projekt für eine Vorlesung in unserer Uni, jedoch haben wir noch Probleme, das ganze als executable zu bauen.
Unser Problem ist, dass das Projekt die jnetpcap library benötigt. Da wir nicht von jedem Anwender erwarten wollen, dass er sie in seine Systempfade installiert, möchten wir diese direkt ins executable packen. Der Standart exporter von eclipse schafft das leider nicht, das richtig in den Library Path aufzunehmen (Start nur so möglich: "-Djava.library.path=./jnetpcap-1.3.0 -jar pcap.jar"). Jedoch starten kann es eclipse (library ist als library natürlich eingebunden).
Gibt es eine Möglichkeit über eclipse direkt die libraries entsprechend mit einzubinden?
Mein alternativer Versuch war nun ein Ant-Script, jedoch zerhaut es mir so noch viel mehr Abhängigkeiten. Hier mal mein Code, mit dem ich es versucht habe:
[XML]<project name="MultiCastor" default="MC.compile">
<path id="classpath.base">
</path>
<path id="classpath.pcap">
<pathelement location="${basedir}/dist/lib/junit-4.10.jar" />
<pathelement location="${basedir}/dist/lib/jnetpcap.jar" />
<pathelement location="${basedir}/dist/lib/" />
<path refid="classpath.base" />
</path>
<target name="MC.clean">
<delete dir="${basedir}\build" failonerror="no"/>
<delete dir="${basedir}\dist" failonerror="no"/>
</target>
<target name="MC.prepare" depends="MC.clean">
<mkdir dir="${basedir}\build"/>
<mkdir dir="${basedir}\dist"/>
<mkdir dir="${basedir}\dist\lib"/>
<copy todir="${basedir}\dist\lib">
<fileset dir="${basedir}\libs\jnetpcap-1.3.0"/>
</copy>
<copy todir="${basedir}\dist\lib">
<fileset dir="${basedir}\libs\junit4.10"/>
</copy>
</target>
<target name="MC.compile" depends="MC.prepare">
<echo>Build target: ${basedir}\build</echo>
<javac srcdir="${basedir}\src" destdir="${basedir}\build">
<classpath refid="classpath.pcap" />
</javac>
<jar jarfile="${basedir}\dist\mc.jar" basedir="${basedir}\build">
<manifest>
<attribute name="Main-Class" value="program.controller.Main"/>
</manifest>
</jar>
</target>
</project>[/XML]
Wäre nett, wenn jemand da einen kleinen Tipp für mich hätte Schon mal vielen Dank!
wir arbeiten derzeit an einem kleinen Projekt für eine Vorlesung in unserer Uni, jedoch haben wir noch Probleme, das ganze als executable zu bauen.
Unser Problem ist, dass das Projekt die jnetpcap library benötigt. Da wir nicht von jedem Anwender erwarten wollen, dass er sie in seine Systempfade installiert, möchten wir diese direkt ins executable packen. Der Standart exporter von eclipse schafft das leider nicht, das richtig in den Library Path aufzunehmen (Start nur so möglich: "-Djava.library.path=./jnetpcap-1.3.0 -jar pcap.jar"). Jedoch starten kann es eclipse (library ist als library natürlich eingebunden).
Gibt es eine Möglichkeit über eclipse direkt die libraries entsprechend mit einzubinden?
Mein alternativer Versuch war nun ein Ant-Script, jedoch zerhaut es mir so noch viel mehr Abhängigkeiten. Hier mal mein Code, mit dem ich es versucht habe:
[XML]<project name="MultiCastor" default="MC.compile">
<path id="classpath.base">
</path>
<path id="classpath.pcap">
<pathelement location="${basedir}/dist/lib/junit-4.10.jar" />
<pathelement location="${basedir}/dist/lib/jnetpcap.jar" />
<pathelement location="${basedir}/dist/lib/" />
<path refid="classpath.base" />
</path>
<target name="MC.clean">
<delete dir="${basedir}\build" failonerror="no"/>
<delete dir="${basedir}\dist" failonerror="no"/>
</target>
<target name="MC.prepare" depends="MC.clean">
<mkdir dir="${basedir}\build"/>
<mkdir dir="${basedir}\dist"/>
<mkdir dir="${basedir}\dist\lib"/>
<copy todir="${basedir}\dist\lib">
<fileset dir="${basedir}\libs\jnetpcap-1.3.0"/>
</copy>
<copy todir="${basedir}\dist\lib">
<fileset dir="${basedir}\libs\junit4.10"/>
</copy>
</target>
<target name="MC.compile" depends="MC.prepare">
<echo>Build target: ${basedir}\build</echo>
<javac srcdir="${basedir}\src" destdir="${basedir}\build">
<classpath refid="classpath.pcap" />
</javac>
<jar jarfile="${basedir}\dist\mc.jar" basedir="${basedir}\build">
<manifest>
<attribute name="Main-Class" value="program.controller.Main"/>
</manifest>
</jar>
</target>
</project>[/XML]
Wäre nett, wenn jemand da einen kleinen Tipp für mich hätte Schon mal vielen Dank!