# jar mit maven einbinden



## ARadauer (18. Feb 2009)

wir bauen unsere anwendung seit kurzem mit maven...
was ich noch nicht ganz verstehe ist vollgendes.. wie binde ich eine fremde jar in mein projekt ein, wenn ich keine "dependency" habe?

http://code.google.com/p/javagooglechart/ das will ich einbinden? was schreib ich hier in mein pom.xml?


----------



## maki (18. Feb 2009)

Ich nehme an, ihr habt ein eigenes Repository (nicht mit dem lokalen Repository <USER_HOME>/.m2/repository verwechseln) wie zB. Artifactory, würde es dort hochladen und eine pom generieren lassen.

Ansonsten:
Einfach in die pom des aktuellen Projektes welches die Jar braucht eine (noch) Pseudo Dependency eintragen, zB.:


```
<dependency>
    <groupId>com.google</groupId>
    <artifactId>javagooglechart</artifactId>
    <version>0.90</version>
</dependency>
```

Dann ein mvn install.

Die darauf folgende Fehlermeldung von Maven2 enthält die Kommandozeile die du brauchst um das Ding ins lokale Repository hochzuladen:

```
mvn install:install-file -DgroupId=com.google -DartifactId=javagooglechart -Dversion=0.90 -Dpackaging=jar -Dfile=/path/to/file
```
Musst halt nur noch  path/to/file mit dem echten Pfad zur Jar ersetzen.

Nebenbei, ihr solltet unbedingt ein eigenes Repository haben, kann Artifactory nur empfehlen.


----------



## ARadauer (19. Feb 2009)

a ok das teil muss in unsere zentrales repository... dann muss ich mich mit unserem zentralen repository verantworlichen zusammen reden ;-)

danke


----------



## Kencik (27. Mrz 2009)

Hallo,
Wo muss man eigentlich die Zeile 

```
mvn install:install-file -DgroupId=com.google -DartifactId=javagooglechart -Dversion=0.90 -Dpackaging=jar -Dfile=/path/to/file
```

eintippen?


----------



## maki (27. Mrz 2009)

An der Shell.


----------



## Kencik (27. Mrz 2009)

Und wo kann man das in Eclipse finden ?


----------



## maki (27. Mrz 2009)

Hat nix mit Eclipse zu tun 

Shell = Kommandozeile

Ps: Ich hoffe dass du nicht versuchst Maven2 von Eclipse aus zu erlernen..


----------



## Kencik (27. Mrz 2009)

Ich dachte, dass Eclipse eine Konsole hat, wo man die Befehle eintippen kann.
Wenn ich das in der Kommandozeile eintippe, kommt ein fehler raus :


C:\Documents and Settings\m>mvn install:install-file -DgroupId=com.jamon -Dartif
actId=jamon -Dversion=2.7 -Dpackaging=jar -Dfile=c:\Documents and Settingss\m\.m
2\repository\jamon\jamon-2.7.jar

ERROR: JAVA_HOME not found in your environment.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation


C:\Documents and Settings\m>[/QUOTE]

Muss ich jetzt die Umgebungsvariablen einstellen oder mach ich was falsch ?


----------



## maki (27. Mrz 2009)

>> Muss ich jetzt die Umgebungsvariablen einstellen oder mach ich was falsch ? 

Steht doch da und auch in der Maven Installationsanleitung: JAVA_HOME setzen


----------



## Kencik (27. Mrz 2009)

Erst mal vielen Dank fuer die Hilfe. Die instalation hat geklappt.

Leider hat es mein Problem nicht geloest.

Ich wollte zu meinem Projekt eine API hinfuegen, genauer geschrieben wollte ich JAMon benutzen. Ich schaf es aber nicht die Dependencies einzustellen. Wenn ich dann Methoden aus dem jamon.jar Package benutze, kommt beim Ausfuehren ein Fehler :

```
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: com/jamonapi/MonitorFactory
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:924)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
[B]root cause[/B] java.lang.NoClassDefFoundError: com/jamonapi/MonitorFactory
	net.mindglobe.api.user.BookmarkController.getAll(BookmarkController.java:83)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473)
	org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410)
	org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
	org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
[B]root cause[/B] java.lang.ClassNotFoundException: com.jamonapi.MonitorFactory
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
	java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	net.mindglobe.api.user.BookmarkController.getAll(BookmarkController.java:83)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473)
	org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410)
	org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
	org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
```
 
Was kann ich noch machen ?


----------



## maki (27. Mrz 2009)

Wie sieht deine pom.xml aus?


----------

