killerk1ng zei:
ik heb een project voor school en om dit 'gebruiksklaar' te maken zou ik dus de hele boel van eclipse naar een jar-file (of iets dergelijks) moeten exporteren
normaal kan ik gewoon projecten van eclipse naar jar-file exporteren, maar nu blijkt het niet te lukken
ik vermoed uit de foutmelding, dat de databank er iets mee te maken heeft (zie link)
ImageShack® - Online Photo and Video Hosting
iemand een manier om dit goed te doen?
alvast bedankt
Een antwoord op uw vraag is moeilijk te verzinnen wanneer je er te weinig details over geeft. Ik ga er in elk geval van uit dat je het over een Java project hebt
- Wat voor database is het?
- Hoe gebruik je de database?
- Hoe ziet je classpath structuur eruit?
- ...
In de meeste professionele omgevingen wordt de "packaging" van software gedaan dmv. Maven2.
Maven - Welcome to Apache Maven
Nu is Maven niet alleen een packaging tool maar een build tool die ook een standaardisatie aanreikt voor uw project structuur. Dwz. dat zonder extra configuratie je project aan deze standaard zal moeten voldoen. Ik verklaar mij nader.
Voor Eclipse bestaat de "M2Eclipse plugin"
M2Eclipse | Sonatype
Dit stelt je in staat om van je project een Maven project te maken, maar dan moet je project structuur wel voldoen aan z'n eisen, en het vergt nog configuratie ook omdat je natuurlijk een Maven runtime op je systeem moet draaien.
Je project structuur als jar moet er default zo uit zien:
Code:
projectroot
- src
- main
- java (classpath root)
- <package dir structuur>
- resources (resources classpath root (*))
- test
- java (dit is je test classpath root)
- <test package dir structuur>
- resources (test resources classpath root)
In je project root krijg je dan je "pom.xml" file dat je project beschrijft, configureert, built en packaget. Default is dit jar maar er zijn nog andere mogelijkheden voor bv. webapplicaties, Android package, enz.
Dit ziet er zo uit:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>9lives.voorbeeld</groupId>
<artifactId>VoorbeeldJar</artifactId>
<packaging>jar</packaging>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Wat dit allemaal wil zeggen kan je beter zelf opzoeken, als je het gaat gebruiken natuurlijk, want hier dit is nogal uitgebreid. Dat is dan ook de reden waarom veel beginners hier nogal weigerachtig tegenover staan, maar dit is echt wel een nuttige "skill" om mee te kunnen uitpakken. Ik denk dat wanneer je dit betrekt in je oplossing dit punten gaat opleveren.
Extra voordelen aan Maven 2 is ook dat dit onafhankelijk van je IDE (Eclipse of IntelliJ enz) werkt. Je hebt enkel Java en Maven2 op je systeem nodig, wat beschikbaar is in alle gangbare besturingssystemen en simpel te installeren is. Doormiddel van Maven commands uit te voeren in je project root (waar je pom.xml staat) doe je al je acties zoals dus compile, build, package (jar), etc. Daardoor krijg je je eindproduct.
En om dus op je vraag terug te komen, maar dan meer specifiek:
In Maven2 heb je standaard de "maven-jar-plugin"
Maven Jar plugin - Introduction
Deze is standaard al aanwezig dus je hoeft 'm niet verder te configureren, dit is wel de plugin die je project naar jar gaat builden. Wanneer je nu je database (wat ik wel raar vind) in je "resources" directory zet dan zal deze automatisch in je jar zitten wanneer je als Maven commando dit:
uitvoert in je console (cmd in win).
Bekijk de documentatie om te weten te komen hoe je Maven2 deftig in je systeem integreert en in Eclipse, al zou ik hiervoor eigenlijk altijd IntelliJ Community edition aanraden als IDE ipv. Eclipse. Maar da's enkel mijn mening, bekijk dit laatste eens als je tijd over zou hebben.
edit: nog dit...
Een jar file maken als eindproduct met Eclipse is eigenlijk amateuristisch. Gebruik van Maven komt veel professioneler over en indien je verder gaat met Java heel nuttig om te kennen.